拿vultr的debain10系统机器部署个测试项目,80和443端口就是连不上...看iptables规则有一大堆,直接iptables -F清除,连22都连不上了......,应该是预装的系统配置了什么规则吧,遂VNC放行80和443端口,果然就能连上了.记一下iptables的常规操作

iptables的四表五链,仅粗略了解了一下,以后用到再重新学习

2022/2/10更新

放行指定端口
# 放行tcp 80,443
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -p tcp --dport 443 -j ACCEPT
# 放行udp 80,443
iptables -I INPUT -p udp --dport 80 -j ACCEPT
iptables -I INPUT -p udp --dport 443 -j ACCEPT
#iptables 不允许指定10000-2000这种形式的端口表达.
屏蔽指定端口
# 与放行类似,改个关键字.REJECT或者DROP.
iptables -I INPUT -p tcp --dport 8090 -j REJECT
iptables -I INPUT -p tcp --dport 8090 -j DROP
设置其它未配置规则的端口默认规则
# 禁止访问
iptables -A INPUT -j REJECT
iptables -A FORWARD -j REJECT
iptables -A OUTPUT -j REJECT
# 允许访问
iptables -A INPUT -j ACCEPT
iptables -A FORWARD -j ACCEPT
iptables -A OUTPUT -j ACCEPT
# 指定filter表
iptables -t filter -A INPUT -j ACCEPT
删除规则
# 查看所有规则,带上序号
iptables -L -n --line-numbers
# 删除链INPUT下序号为2的规则
iptables -D INPUT 2
# 清除INPUT链下所有规则
iptables -F INPUT
# 清除所有规则
iptables -F
创建/删除自定义链
# 创建
iptables -N ChainName
# 删除指定Chain
iptables -X ChainName
# 删除所有自定义Chain
iptables -X 
保存配置
# 保存刚配置的规则
iptables-save
# 重启后会失效,下面设置持续生效规则
# 安装iptables-persistent
apt -y install iptables-persistent
# 保存规则持续生效
netfilter-persistent save
netfilter-persistent reload

附 部分iptables选项

-t<表>:指定要操纵的表;
-A:向规则链中添加条目;
-D:从规则链中删除条目;
-i:向规则链中插入条目;
-R:替换规则链中的条目;
-L:显示规则链中已有的条目;
-F:清除规则链中已有的条目;
-Z:清空规则链中的数据包计算器和字节计数器;
-N:创建新的用户自定义规则链;
-X:删除用户自定义规则链;
-P:定义规则链中的默认目标;
-h:显示帮助信息;
-p:指定要匹配的数据包协议类型;
-s:指定要匹配的数据包源ip地址;
-j<目标>:指定要跳转的目标;
-i<网络接口>:指定数据包进入本机的网络接口;
-o<网络接口>:指定数据包要离开本机所使用的网络接口。