共计 1222 个字符,预计需要花费 4 分钟才能阅读完成。
Linux(Ubuntu)如何用 iptables 实现端口映射
首先,必须开启 linux 的数据转发功能,具体开启步骤如下:
1 vi /etc/sysctl.conf
2 将 net.ipv4.ip_forward= 0 更改为 net.ipv4.ip_forward=1 , 并取消掉前面的注视符“#”
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 列表信息:
结果如下图所示
Nat 列表信息删除:
iptables -t nat -D PREROUTING 1 // 序号从 1 开始,后边以此 +1.
更多 iptables 相关教程见以下内容:
CentOS 7.0 关闭默认防火墙启用 iptables 防火墙 http://www.linuxidc.com/Linux/2015-05/117473.htm
iptables 使用范例详解 http://www.linuxidc.com/Linux/2014-03/99159.htm
Linux 防火墙 iptables 详细教程 http://www.linuxidc.com/Linux/2013-07/87045.htm
iptables 的备份、恢复及防火墙脚本的基本使用 http://www.linuxidc.com/Linux/2013-08/88535.htm
Linux 下防火墙 iptables 用法规则详解 http://www.linuxidc.com/Linux/2012-08/67952.htm
Linux 下 iptables 防火墙设置 http://www.linuxidc.com/Linux/2015-10/123843.htm
本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-12/125879.htm