使用iptables将特权端口映射到非特权端口

时间:2014-10-29 11:54:56

标签: apache iptables portforwarding

我有一个在端口8080上运行的apache webservice,但希望能够在端口80上连接。但是,我的unix sysadmin不允许以root身份启动apache,也不提供对sudo的访问。

但是,她会根据要求执行命令。

我相信这可以通过iptables来实现。有没有办法将端口80映射到8080和443到8083,而这个系统管理员不必编辑任何文件。

即。只需将echo与appender >>一起使用。

1 个答案:

答案 0 :(得分:1)

她可以通过运行:

来做到这一点
iptables -t nat -I PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
iptables -t nat -I PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 8083

这将使重定向立即生效,但不会保存,因此重启后它将不再起作用。

使用iptables-save可以在不编辑任何文件的情况下执行此操作。但这取决于你运行的linux风格,以及你是否使用ferm,ufw或其他一些防火墙管理工具。

在RedHat / CentOS上,她可以这样做:

iptables -t nat -I PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
iptables -t nat -I PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 8083
iptables-save > /etc/sysconfig/iptables

在其他操作系统变体上,YMMV!