Dav*_*ger 10 linux firewall debian iptables
我目前有一个运行在 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从内部 (10.32.25.1) 指向我的路由器(我的 linux 服务器),但我想从内部将端口 8080 重定向到 10.32.25.2 上的端口 80。
有什么线索吗?
为了帮助解决这个问题,我把这张图放在一起。如果它不正确或歪曲了您要查找的内容,请随时更新。
iptables
| .---------------.
.-,( ),-. v port 80 |
.-( )-. port 8080________ | |
( internet )------------>[_...__...°]------------->| NAS |
'-( ).-' 10.32.25.2 ^ 10.32.25.1 | |
'-.( ).-' | | |
| '---------------'
|
|
__ _
[__]|=|
/::/|_|
Run Code Online (Sandbox Code Playgroud)
Dav*_*ger 13
我终于找到了方法。首先,我必须添加-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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
45130 次 |
| 最近记录: |