开放端口

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT

iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT

iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 443 -j ACCEPT

# qbittorrent出现tracker连不上的情况,需要加入以下内容
iptables -A INPUT -p tcp --sport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT

iptables -A INPUT -p tcp --sport 443 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT

关闭所有端口

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

开启所有

iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

查看iptables信息

iptables -L -n

删除规则

通过 iptables -L -n --line-number 可以显示规则和相对应的编号

iptables -D INPUT 规则编号
iptables -D OUTPUT 规则编号

nginx反代设置

在nginx反向代理、web服务器所在的同一系统上配置iptables进行访问限制时,可能会导致nginx反向代理不能正常工作。

一种常见原因是iptables没有配置来自本机ip的连接权限而且默认是DROP策略。

解决方法也很简单,添加本机ip的连接权限,例如:

iptables -A INPUT -p tcp -s 127.0.0.1 -j ACCEPT
iptables -A OUTPUT -p tcp -s 127.0.0.1 -j ACCEPT

屏蔽docker暴露的端口

使用ifconfig查看网卡信息,显示如下:

docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
    ....

enp4s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
    ....

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
    ....

veth161f19b: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
    ....

该机器真正的网口是enp4s0。 docker 启动的虚拟网口是docker0

iptables -I DOCKER-USER -i enp4s0 -j DROP

使用iptables -L -n查看,多出如下信息:

Chain DOCKER-USER (1 references)
target     prot opt source               destination
DROP       all  --  0.0.0.0/0            0.0.0.0/0
RETURN     all  --  0.0.0.0/0            0.0.0.0/0

使用nginx反代docker容器:

iptables -A INPUT -p tcp -s 172.17.0.1 -j ACCEPT
iptables -A OUTPUT -p tcp -s 172.17.0.1 -j ACCEPT
iptables -A INPUT -p tcp -s 172.17.0.2 -j ACCEPT
iptables -A OUTPUT -p tcp -s 172.17.0.2 -j ACCEPT

开机加载配置

上面的设置只是临时的, 重启服务器还是会恢复原来没有设置的状态,使用iptables-persistent开机加载配置

apt -y install iptables-persistent
安装时会有两次提示,选择yes
netfilter-persistent save
最后修改:2023 年 09 月 26 日
如果觉得我的文章对你有用,请随意赞赏