我找到了一种使用 ipfw 将端口 80 和 443 转发到其他任意端口(在我的情况下为 3000 和 3001)的方法。但是 ipfw 已被弃用并被 pfctl 取代。这是我的 ipfw 声明:
sudo ipfw flush
sudo ipfw add 100 fwd 127.0.0.1,3000 tcp from any to me 443
sudo ipfw add 200 fwd 127.0.0.1,3001 tcp from any to me 80
sudo ipfw show
Run Code Online (Sandbox Code Playgroud)
我怎样才能用 pfctl 做同样的事情?
我试图使用 pf 解决这个问题,但没有运气。基本上,我试图将传入端口 443 流量重定向到端口 22。我尝试在文件中设置规则并将其加载到 pf 中,但出现语法错误。任何对 pf 有更多经验的人都可以提供一些见解吗?这是我尝试过的:
pass in on en1 proto tcp from any to any port 443 rdr-to 127.0.0.1 port 22
Run Code Online (Sandbox Code Playgroud)
和
pass in quick proto tcp to port 443 rdr-to 127.0.0.1 port 22
Run Code Online (Sandbox Code Playgroud)
我已经能够使用 ipfw 在 MacOSX Snow Leopard 中做到这一点:
sudo ipfw add 1443 forward 127.0.0.1,22 ip from any to any 443 in
Run Code Online (Sandbox Code Playgroud)
但它在 Lion 中不起作用(它给了我一个无效参数错误)。
我需要模拟在本地计算机上运行的程序的网络延迟,连接到本地服务。到目前为止,我已经尝试过dummynet(ipfw 的 Windows 版本),经过反复试验,我开始工作了。虽然它通常有效,但我似乎无法让它过滤本地主机流量。即使添加了from any to any影响外部流量的规则,这对本地连接也没有任何区别。如果有人知道如何使用 dummynet 或其他工具模拟本地延迟,我将不胜感激。该工具应该能够模拟 IP 数据包(TCP 和 UDP)中的一般延迟,而不是特定于协议的。
设想:
我有一台运行 Lion 并连接到 OpenVPN 服务器的 Mac 我有一个 Windows XP VM(并行运行,但我认为这并不重要)我希望能够通过主机 Mac 路由来自 XP VM 的流量OpenVPN 连接,以便我可以登录到域。
远程网络是 172.16.0.0/23 (255.255.254.0) Open VPN 被配置为提供 10.100.101.0/24 范围内的地址,并使用网关设置到 172.16.0.0 的路由是 10.100.101.1/32 我的本地网络192.16.1.0/24
注意:我不想将 OpenVPN 安装到 XP 虚拟机中,因为我必须使用无密码密钥才能在登录前连接 OpenVPN。
有人有任何想法吗?
我有 ADSL 互联网,当有应用程序全速上传到互联网时(例如文件上传期间的 Skype 或 Chrome),下载带宽变得非常非常慢。这意味着我在上传过程中几乎无法浏览网页,甚至 ping8.8.8.8需要 2-3 秒;通常这需要不到 0.06 秒。
在 Mac OS X Mavericks (10.9) 和更早版本中,我使用了节流来限制传出流量,因此在上传过程中可以使用互联网。
Throttled 使用 ipfw 进行节流,该功能已从 Yosemite (10.10) 中移除。推荐的替代方法是pf,但 Mac OS X 内核没有 ALTQ 支持,这将启用流量整形(所以我尝试过,所有 altq 命令都被简单地忽略)。
我还尝试了Network Link Conditioner应用程序,但这并没有正确限制传出的包,因此在上传过程中互联网仍然无法使用。平均输出带宽是有限的,但它以几秒钟的周期波动/振荡。
那么如何限制传出带宽呢?或者我怎样才能至少提高 HTTP 流量优先级?我可以ipfw以某种方式安装吗?还有其他想法吗?
更新:目前最适合我的配置是使 HTTP/HTTPS/SSH 不受限制并限制其他所有内容的上传速度。当同时进行云备份和 torrent 上传时,这使得互联网可用。这是脚本:
#!/bin/bash
# Reset dummynet to default config
dnctl -f flush
pfctl -F all
# Compose an addendum to the default config; creates a new anchor …Run Code Online (Sandbox Code Playgroud) 我正在玩与随机玩家匹配的在线游戏。我发现当我拔下以太网电缆时,我有时间决定是否要计算此匹配项。
如果出现问题,我只是重新启动游戏并重新开始。如果事情按照我的计划进行,我会重新插入电缆并继续。
问题是,我经常需要两分钟来下定决心,但游戏在 60 秒后断开连接(我收到“连接丢失”错误)
问题是,如何防止连接超时?
我假设如果我让保持活动的数据包通过,但暂停实际的数据包,我将能够按需暂停和恢复 tcp 连接,但我不确定是否可以使用像 iptables 或ipfw,还是我应该使用 MITM?
游戏在标准 TCP 套接字上使用 SSL 加密。