我目前在端口80下运行NAS盒.要从外部访问NAS,我将端口8080映射到NAS上的端口80,如下所示:
iptables -t nat -A PREROUTING -p tcp –dport 8080 -j DNAT –to-destination 10.32.25.2:80
这就像一个魅力.但是,只有当我从网络外部访问网站时(在工作中,在不同的房子等),这才有效.因此,当我输入mywebsite.com:8080时,IPTables正确地完成了工作,一切正常.
现在,我遇到的问题是,如何从网络内部重定向此端口?我的域名mywebsite.com从内部指向我的路由器(我的linux服务器)(10.32.25.1),但我想从内部将端口8080重定向到10.32.25.2上的端口80.
任何线索?
编辑#1
为了帮助解决这个问题,我把这个图放在了一起.如果不正确或歪曲您要查找的内容,请随时更新.
iptables
| .---------------.
.-,( ),-. v port 80 |
.-( )-. port 8080________ | |
( internet )------------>[_...__...°]------------->| NAS |
'-( ).-' 10.32.25.2 ^ 10.32.25.1 | |
'-.( ).-' | | |
| '---------------'
|
|
__ _
[__]|=|
/::/|_|
解决方法:
我终于找到了怎样的方法.首先,我必须在我的“外部”规则中添加-i eth1(eth1是我的WAN连接).我还需要添加另外两个规则.这到底是我带来的:
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 8080 -j DNAT --to 10.32.25.2:80
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to 10.32.25.2:80
iptables -t nat -A POSTROUTING -p tcp -d 10.32.25.2 --dport 80 -j MASQUERADE
标签:linux,debian,iptables,firewall
来源: https://codeday.me/bug/20190809/1629408.html