【问题标题】:Using iptables to map privilaged to non-privilaged port使用 iptables 将特权端口映射到非特权端口
【发布时间】:2014-10-29 11:54:55
【问题描述】:
我在端口 8080 上运行了一个 apache 网络服务,但希望能够在端口 80 上连接。但是,我的 unix 系统管理员不允许以 root 身份启动 apache,也不提供对 sudo 的访问权限。
不过,她会根据要求执行命令。
我相信这可以通过iptables 实现。有没有办法将端口 80 映射到 8080 和 443 到 8083,而无需此系统管理员编辑任何文件。
即只需将 echo 与 appender >> 一起使用。
【问题讨论】:
标签:
apache
iptables
portforwarding
【解决方案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 !