Linux(Ubuntu)如何用iptables实现端口映射

Linux(Ubuntu)如何用iptables实现端口映射

首先,必须开启linux的数据转发功能,具体开启步骤如下:

1 vi /etc/sysctl.conf

Linux(Ubuntu)如何用iptables实现端口映射

2 将net.ipv4.ip_forward=0更改为net.ipv4.ip_forward=1 ,并取消掉前面的注视符“#”

Linux(Ubuntu)如何用iptables实现端口映射

3 sysctl -p(这条命令是使数据转发功能生效)

现在就可以更改iptables了,使之实现nat映射功能:

例如:你要将外网访问本地IP(192.168.75.5)的80端口转换为访问192.168.75.3的8000端口,你可以用如下命令:

(1)iptables -t nat -A PREROUTING -d 192.168.75.5 -p tcp --dport 80 -j DNAT --to-destination 192.168.75.3:8000

(2)iptables -t nat -A POSTROUTING -d 192.168.75.3 -p tcp --dport 8000 -j SNAT 192.168.75.5 (我执行这句时有错误!!没有用到该部分)

我执行的语句只有:sudo iptables -t nat -A PREROUTING -d *.*.*.* -p tcp --dport 80 -j DNAT --to-destination *.*.*.*:9000

因为,我是要将80端口转发到9000端口,因为80端口被电信封掉了,外部无法访问,因此就使用9000端口。这样通过域名就可以直接访问内部9000端口提供的WEB服务了。

可以使用命令:iptables -t nat --list检查nat列表信息:

结果如下图所示

Linux(Ubuntu)如何用iptables实现端口映射

Nat列表信息删除:

iptables -t nat -D PREROUTING 1    //序号从1 开始,后边以此+1.

更多iptables相关教程见以下内容

CentOS 7.0关闭默认防火墙启用iptables防火墙 

iptables使用范例详解

Linux防火墙iptables详细教程

iptables的备份、恢复及防火墙脚本的基本使用

Linux下防火墙iptables用法规则详解

Linux下iptables防火墙设置

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/e70e2a4b26052ea9182f16521d6b19b9.html