我想转发来自192.168.99.100:80to 的请求127.0.0.1:8000。这就是我在 linux 中使用的方法iptables:
iptables -t nat -A OUTPUT -p tcp --dport 80 -d 192.168.99.100 -j DNAT --to-destination 127.0.0.1:8000
Run Code Online (Sandbox Code Playgroud)
我如何在 MacOS X 中做同样的事情?我尝试了一些ipfw命令组合,但没有取得多大成功:
ipfw add fwd 127.0.0.1,8000 tcp from any to 192.168.99.100 80
Run Code Online (Sandbox Code Playgroud)
(对我来说,成功是指向浏览器http://192.168.99.100并从我运行的开发服务器获得响应localhost:8000)
我正在尝试Node.js在我的机器上本地运行多个Web 服务器。
因为我正在编写的代码需要引用一个域名,所以我想保留一个约定dev.myHost.com并将其指向从 Node 运行的非端口 80 服务(从技术上讲,我在Harp.js 上运行一个,一个在 上运行Sails.js)。
dev.hostOne.com应该指出localhost:123dev.hostTwo.com应该指向localhost:456这可能吗?如果是,如何。
在 MacOS X 中启用 IP 转发的正确方法是什么?
更具体地说,以下两个 Linux 命令的 MacOS X 命令行等效项是什么:
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A FORWARD -j ACCEPT
Run Code Online (Sandbox Code Playgroud) 我有一个 FreeBSD 9.0 服务器。它有几个监狱,但他们都有同样的问题。他们无法发起与外界的连接。他们彼此沟通,主机很好。
相关rc.conf设置:
firewall_enable="YES" # IPFW
firewall_type="/etc/ipfw.rules" # Rule script for IPFW
natd_enable="YES" # NAT for Internet Routing
natd_interface="wan0" # NAT Card
natd_flags="-f /etc/natd.conf -dynamic" # NAT Conf
ifconfig_lo1_name="jail1"
ifconfig_jail1="inet 192.168.1.101/32"
jail_asdf_rootdir="/jails/asdf"
jail_asdf_hostname="asdf.example.net"
jail_asdf_ip="192.168.1.101"
jail_asdf_devfs_enable="YES"
Run Code Online (Sandbox Code Playgroud)
从 sysctl.conf
security.jail.allow_raw_sockets=1
Run Code Online (Sandbox Code Playgroud)
从 ipfw.rules
# XXX 00050 divert natd ip4 from any to any via wan0
add 00060 check-state
# Allow me out
add 00135 allow ip from me to any keep-state
add 00136 allow ip6 from me6 to any …Run Code Online (Sandbox Code Playgroud) 我不允许在桥接模式下运行我的 VMWare 来宾,我想以某种方式从 Mac 外部网络接口上的约定端口建立隧道到运行在 VMWare 融合来宾上的网络服务器。
我的猜测是我可以以某种方式在 Mac 上运行的 ipfw 中设置一个隧道来支持这一点。
谁能给我一些指点?
我需要破解 OS X pf 以将所有 ssh 连接从用户重定向到这台机器。我想要,在做的时候
$ ssh google.com
Run Code Online (Sandbox Code Playgroud)
得到相同的结果
$ ssh localhost
Run Code Online (Sandbox Code Playgroud)
即连接到我本地运行的 sshd。
在最近的 Linux 下,这将是:
# iptables -t nat -A OUTPUT -p tcp --dport 22 -m owner --uid-owner theuser -j REDIRECT
Run Code Online (Sandbox Code Playgroud)
在 OS X 10.8 下,似乎有 2 种方法 - ipfw 和 pf。两者都不起作用。ipfw:
# ipfw flush
# ipfw add 50 fwd 127.0.0.1,22 tcp from any to any 22 uid theuser
Run Code Online (Sandbox Code Playgroud)
如果我删除该uid theuser部分,重定向将起作用,减去用户的东西。如果我把uid指令留在那里,网络堆栈就会死掉,系统很快就会变得无法使用;没有了ipfw,没有了ps,没有了kill。
根据手册页,不推荐使用 ipfw,因此应改用数据包过滤器:
# sysctl -w …Run Code Online (Sandbox Code Playgroud) 我对 ipfw 完全是个菜鸟,所以如果我的问题是基本的,我提前道歉,但我没有找到任何资源来帮助解决使用 GUI 和非常了解命令行 ipfw 之间的差距。
我想阻止重复访问我的网络服务器的 ip。防火墙是ipfw。我找到了这个命令:
ipfw 将拒绝 ip 从 the.ip.to.block 添加到 my.computer.ip.address
有两件事我不清楚:
我知道规则将在重新启动时刷新。我想知道的是,运行此命令是否会影响正在运行的任何现有规则?我猜不是,但我想确定一下。
有没有什么软件可以和ipfw连接,在短时间内添加ip然后删除它们?如果没有,我会为它编写一个脚本,但是有没有内置的方法可以从几个 conf 文件中添加?如果我可以拥有一个带有稳定规则的文件而另一个带有动态规则的文件,那么做起来会容易得多。
非常感谢任何帮助,即使是 RTFM,如果您可以提供指向资源的链接,以帮助我更好地理解它。
我的防火墙脚本:
\#!/bin/sh
/usr/bin/sudo /sbin/ipfw -q flush
/usr/bin/sudo /sbin/ipfw -q delete set 31
/usr/bin/sudo /sbin/ipfw -q /usr/local/bin/Firewall/default.conf
Run Code Online (Sandbox Code Playgroud)
#Check dynamic rules
#anything that's already had the
# green light can continue
add 1000 check-state
add 1050 allow tcp from any to any established
add 1080 allow tcp from any to any out keep-state
add 1090 allow udp from any …Run Code Online (Sandbox Code Playgroud) 我目前在 3 个专用防火墙服务器上使用 IPFW,我想将它们转换为 PF 以实现其某些功能,但我需要转移工作。具体来说,我将数据包发送到自定义应用程序以进行网络分析。
PF 中是否支持它(或类似的东西)?