Ubuntu 14.04 端口映射

Ubuntu 14.04 端口映射

  • Ubuntu 1404 端口映射
    • 背景
    • 方法
      • 非永久
      • 永久

背景

一个集群,只有一个公网IP,外网的客户机需要访问内网某台机器运行的服务,这时需要通过端口转发来实现。

假设配置

Machine1: 外网IP:113.30.150.75 网卡:em0 ,内网IP:192.168.0.1 网卡:em1
Machine6: 内网IP:192.168.0.6

需求

通过访问113.30.150.75:19000来访问192.168.0.6:9000上提供的服务,即将113.30.150.75:19000映射到192.168.0.6:9000

方法

非永久

Machine1上面:

$ sudo echo 1 > /proc/sys/net/ipv4/ip_forward
$ sudo iptables -t nat -A PREROUTING -s 0/0 -d 113.30.150.75 -p tcp --dport 19000 -j DNAT --to 192.168.0.6:9000
$ sudo iptables -t nat -A POSTROUTING -d 192.168.0.6 -p tcp --dport 9000 -o em1 -j SNAT --to 192.168.0.1

这样就可以了,但是如果Machine1重启,配置会丢失。如果想要Machine1重启时,依然保留映射。

永久

Machine1上面:

$ sudo vim /etc/rc.local

在这个文件最后,添加如下几行,注意是不加sudo的,

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -s 0/0 -d 113.30.150.75 -p tcp --dport 19000 -j DNAT --to 192.168.0.6:9000
iptables -t nat -A POSTROUTING -d 192.168.0.6 -p tcp --dport 9000 -o em1 -j SNAT --to 192.168.0.1

即可。

你可能感兴趣的:(linux)