mac osx 里ipfw命令 启用80端口转发到8080 tomcat设置

ipfw是BSD系统中重要的防火墙和通信控制工具,在MacOSX中也很好用.

因为macosx里1024里的端口都是root权限的所以我们启动tomcat的时候需要用root用户但是我们又不想root下有太多用户数据所以设置下端口转发就可以了用ipfw命令

1.先列出当前有那些设置

sudoipfwlist

2.删除不需要的

sudoipfwdel200

3.增加一条转发

sudoipfwaddfwd127.0.0.1,8080tcpfromanyto127.0.0.180in

然后设置tomcat8080启动用普通用户启动应用浏览器访问80端口都会转发到8080端口执行和访问8080一样

=========升级到MacYosemiteipfw已经弃用需要按下列配置===

http://www.danchex.com/?p=67

http://rabbit52.com/2014/desktopos/mac/yosemite-port-forwarding-at-startup

===

方案二:更新到10.10之后之前使用ipfw命令被彻底移除了,以下是例外一个方案(虚拟机设置的端口转发案例,并开机自动加载)。

下面的命令都是在root用户下执行,推荐执行sudo-i之后完成下面的操作

创建文件/etc/pf.anchors/vbox,添加如下1行,将本地80端口转发到8080端口

rdrpassonlo0inetprototcpfromanytoanyport80->127.0.0.1port8080

以上粗体部分需要注意,OSX默认有个本地网络端口名字叫lo0如果你想通过局域网甚至外网访问80,端口则还需要按照这个格式添加接入网络的端口。

再编辑/etc/pf.conf文件,在如下位置添加新的两行

scrub-anchor"com.apple/*"

nat-anchor"com.apple/*"

rdr-anchor"com.apple/*"

rdr-anchor"vbox"//新加行

dummynet-anchor"com.apple/*"

anchor"com.apple/*"

loadanchor"com.apple"from"/etc/pf.anchors/com.apple"

loadanchor"vbox"from"/etc/pf.anchors/vbox"//新加行

现在可以使用命令

pfctl-ef/etc/pf.conf

测试端口转发是否生效

为了实现开机自启动,需要编辑文件/System/Library/LaunchDaemons/com.apple.pfctl.plist

找到如下位置,添加一行新加行所示,之后重启即可自动设置端口转发

<string>pfctl</string>

<string>-e</string>//新加行

<string>-f</string>

<string>/etc/pf.conf</string>

相关推荐