利用NAT Prerouting访问内网机器或虚拟机
2009年12月6日
| 标签: iptables, NAT, prerouting
现在虚拟机很流行,如果物理机没有很多IP能分配给上面的虚拟机,那虚拟机只能使用内网IP了。内网IP是外网无法直接访问的,如何让使用内网IP的虚拟机外网可以访问到呢?
一种方法是使用VPN了,VPN的好处是让客户机能直接接入内网的网络,也就可以访问内网的所有服务,缺点当然就可安装设置VPN了,使用上也有些麻烦。
其实在Linux下可以利用iptables的NAT PREROUTING来建立物理机IP端口与内网IP端的映射,允许特定的外网连接被转发到指定的内网目标IP端口。
比如,比如你想让来自外网的http访问能转发到内网的http服务,假设内网的IP地址为172.31.0.23, 可以用下面命令设置:
# iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 80 -j DNAT –to 172.31.0.23:80
这条规则会利用内置的PREROUTING chain来转发来访的HTTP请求到172.31.0.23.
如果你设置默认的DROP策略在FORWARD chain, 则需要做下面设置:
# iptables -A FORWARD -i eth0 -p tcp –dport 80 -d 172.31.0.23 -j ACCEPT
相关文章:
发表评论
| Trackback
