我是新的serverfault,所以请告诉我的任何不良行为:)
我searchserverfault(和谷歌)的答案,但无法find我的问题的答案(我可以find答案,这部分是我需要的,但我缺乏知识/经验将他们结合到我的问题的解决scheme)
问题如下: – 我有一个公共服务器的端口81,这是公共IP地址可用 – 我有一个本地服务器端口80,这是公众不可用 – 我想用户连接到端口81上公共IP地址并到达本地服务器的端口80(192.168.98。###)
我想我需要使用iptables做一些configuration,但是对我来说这太雾了
我试过一些答案, 我怎么可以端口与iptables? 但是我遇到了各种各样的错误
一些问题: – 本地服务器是否有一些特殊的configuration? 例如,我必须将网关设置为公共服务器的IP地址? – / proc / sys / net / ipv4 / conf / ppp0不存在,是一个问题吗?
没有端口被防火墙阻塞
我有完全控制在运行的公共服务器:
# cat /proc/version Linux version 2.4.22-1.2115.nptl ([email protected].redhat.com) (gcc version 3.2.3 20030422 (Red Hat Linux 3.2.3-6)) #1 Wed Oct 29 15:42:51 EST 2003 # iptables --version iptables v1.2.8
我不知道本地服务器的操作系统,无法控制其configuration
你能解释一下我可以使用哪些iptables设置,或者其他configuration吗?
首先,如果没有在网关上运行调制解调器,则不需要处理/proc/sys/net/ipv4/conf/ppp0 。
首先你要做的就是在你的网关上启用转发,如下所示:
# echo '1' > /proc/sys/net/ipv4/conf/eth0/forwarding (if you are running your live IP on eth0)
然后简单地转发这样的stream量:
# iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.1.2:80 # iptables -A FORWARD -p tcp -d 192.168.1.2 --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
您应该用机器的内部IPreplace192.168.1.2。 另外,将eth0replace为网关上有实时IP的接口。
最后,如您在之前阅读的文章中给出的那样,您可以使用检查路由
# ip route
希望这有助于。 如果遇到问题,请随时恢复。
此外,请张贴您在这个过程中得到的错误。