MAC 接口转发

mac与linux一样,1024以下的端口为特权端口,只有root用户才有权监听。

因此要使用80端口要么使用root启动tomcat,要么使用端口转发。

使用ipfw(Internet Protocol Firewall)设置端口转发

        ipfw add 100 fwd 127.0.0.1,8080 tcp from any to any 80 in

不过ipfw已经被标记为废弃状态。

使用pf(packet filter)设置端口转发

1.创建anchor文件

sudo vi /etc/pf.anchors/tomcat

rdr pass on lo0 inet proto tcp from any to 127.0.0.1 port 80 -> 127.0.0.1 port 8080
2.测试anchor文件是否正确配置
      pfctl -vnf /etc/pf.anchors/tomcat

如果正确会显示
          
          pfctl: Use of -f option, could result in flushing of rules
          present in the main ruleset added by the system at startup.
          See /etc/pf.conf for further details.

rdr pass on lo0 inet proto tcp from any to 127.0.0.1 port = 80 -> 127.0.0.1 port 8080

添加到主配置文件
pf启动时会自动装载/etc/pf.conf文件,因此将anchor文件链接到/etc/pf.conf,转发规则就会自动建立了。

rdr-anchor "tomcat-forwarding"
    load anchor "tomcat-forwarding" from "/etc/pf.anchors/tomcat"
注意要紧随文件中现有的anchor后面添加上面两行

有的电脑 需要严格按照上面的顺序来
打开pf
pf默认是关闭的。可以使用以下命令启动pf:

pfctl -e /etc/pf.conf
也可以使用其他配置文件启动pf。

也可以修改LaunchDaemons来使pf开机自动打开。
/System/Library/LaunchDaemons/com.apple.pfctl.plist

ProgramArguments
      
      pfctl
      -e
      -f
      /etc/pf.conf
    

添加的为-e参数,即enable

你可能感兴趣的:(MAC 接口转发)