使用iptables做端口映射

因为只有root用户才可访问1024以下的端口,非root用户登陆是不能启用80端口的。web service 往往启动1024以上的端口,并通过iptables映射到80.
1、将server.xml中的端口改为8080

2、然后:iptables -t nat -A PREROUTING -p tcp –dport 80 -j REDIRECT –to-port 8080
service iptables save
chkconfig iptables on
(如果用到443,也相应执行以上方法)
此时虽然可以访问80端口了,但是一旦服务器关机,或者是重启了之后,还是只能通过8080端口访问了。
解决办法如下:
输入完iptables -t nat -A PREROUTING -p tcp –dport 80 -j REDIRECT –to-port 8080 后
执行iptables-save
注意:iptables-save是连在一起的,是一个命令,不是参数
iptables-save 仅仅是列出当前设置,并不是将配置保存
若你用的是 RedHat 系列,应该使用 service iptables save 保存,用 chkconfig iptables on 实现开机启动启用
若不是 RedHat 系列,可以使用下面方法手动保存/恢复配置
保存
iptables-save > /root/iptables.conf
恢复
iptables-restore < /root/iptables.conf

Published by

silenthk

云想衣裳花相容,春风拂槛露华浓。 若非群玉山头见,会向瑶台月下逢。

发表评论

电子邮件地址不会被公开。 必填项已用*标注