Linux下iptables 禁止端口和开放端口
下面的代码如果出现权限问题,就在代码的最前面加上 sudo 赋予权限就可以解决了。
一。端口的开启。
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT
-A:参数就看成是添加一条 INPUT(OUTPUT) 的规则;
-p:指定是什么协议 我们常用的tcp(udp)协议。 例如:53端口的DNS到时我们要配置DNS用到53端口,大家就会发现使用udp协议的;
--dport:就是目标端口,当数据从外部进入服务器为目标端口;
--sport:数据从服务器出去 则为数据源端口;
-j 就是指定是 ACCEPT 接收 或者 DROP 不接收。
上面这两行代码是开启 80 端口。
二。端口的关闭。
iptables -A INPUT -p tcp --dport 80 -j DROP
iptables -A OUTPUT -p tcp --sport 80 -j DROP
这样就关闭了 80 端口。
三。查看端口命令。
iptables -L -n 用来查看 iptables 规则。也就是开启的端口等。
四。删除 iptables 规则。
iptables -L -n --line-numbers 查看规则 前面加上序号。
iptables -D INPUT [ 序号] 通过上面查看得到的序号,通过序号进行删除 iptables 规则。
五。规则的保存。
配置完成后是需要保存的。这时就需要 root 权限。sudo 权限已经不够了。设置好后。输入代码:
iptables-save > /etc/iptables-rules
ip6tables-save > /etc/ip6tables-rules
我们需要编辑 /etc/network/interfaces 文件,在最后插入下面两行:
pre-up iptables-restore < /etc/iptables-rules
pre-up ip6tables-restore < /etc/ip6tables-rules
重启电脑后。使用 sudo iptables -L 查看配置是否生效。
六。说明:一般的电脑都安装了 iptables(防火墙)。所以就可以通过上面的方法进行端口的开放。如果没有安装防火墙的电脑,就不需要开启端口。因为没有安装 iptables 的电脑。端口是可以直接访问的。