红联Linux门户
Linux帮助

Ubuntu 14.04端口映射

发布时间:2015-12-11 10:42:34来源:linux网站作者:JavyZheng

背景:

一个集群,只有一个公网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系统端口映射(路由转发):http://www.linuxdiyf.com/linux/16245.html

Linux iptables端口映射设置:http://www.linuxdiyf.com/linux/16244.html

Linux下端口映射工具RINETD:http://www.linuxdiyf.com/linux/8726.html

Linux端口映射转发工具rinetd安装使用:http://www.linuxdiyf.com/linux/1027.html