Linux下访问默认80端口 映射到8080端口
1.添加映射
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
-t nat : 指出我要操作什么表.(不写就表示filter.默认是filter)
-A PREROUTING : A 添加的意思.表示我要在PREROUTING 中添加一个规则
--dport 80 : 如果请求80端口.
--to-port 8080 : 那么就转到8080端口.
测试如下 :
在浏览器地址栏输入http://localhost:8080 和 输入 http://localhost可以达到一样的效果!(前者是通过映射,后者是直接访问原地址!!)
2.删除映射
2.1.查询编号
iptables -t nat -L -nv --line-numbers
这个命令的作用是,列出nat表中的规则,并且给个num.
然后我们就可以利用这个id删除这个规则了.
如果你不写-t nat 那么默认查找的就是filter表.那么就无法查找规则.
2.2.根据编号删除
iptables -t nat -D PREROUTING 2
-t nat : 表示我要操作这个表,不指明就是filter.
-D : 表示执行删除操作
PREROUTING : 表示nat表中哪一个链. 后面数字2 就是上图中的num
3.注意
Debian/Ubuntu 上iptables是不会保存规则的。
需要按如下步骤进行,让网卡关闭是保存iptables规则,启动时加载iptables规则:
3.1.创建 /etc/network/if-post-down.d/iptables
执行:chmod +x /etc/network/if-pre-up.d/iptables 添加执行权限。
文件,添加如下内容:
#!/bin/bash
iptables-save > /etc/iptables.rules
执行:chmod +x /etc/network/if-post-down.d/iptables 添加执行权限。
3.2.创建/etc/network/if-pre-up.d/iptables 文件,添加如下内容:
#!/bin/bash
iptables-save < /etc/iptables.rules
执行:chmod +x /etc/network/if-pre-up.d/iptables 添加执行权限。
下一篇: 机器学习实战之决策树