我目前有一个运行在端口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 | |
'-.( ).-' | | |
| '---------------'
|
|
__ _
[__]|=|
/::/|_|
10.32.25.1:8080
重定向到10.32.25.2:80
。我上面的规则是从网络外部进行的,而不是从网络内部进行的。因此,如果我在办公室里,可以从website.com:8080访问我的NAS ,它是完全透明的。在我家中,website.com:8080指向10.32.25.1,因为它是我的路由器,即Linux服务器。我想将端口8080也重定向到也在端口80上的NAS,但再次以透明的方式。
eth0 10.32.25.2
这样的接口,以便我们能够基于入站接口编写iptables的使用