常用命令:
iptables -F # 清除预设链中规则
iptables -X # 清除自定义链中规则
iptables -A INPUT -i lo -j ACCEPT # 允许来自本机的全部连接
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT # 允许已建立的连接不中断
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT # 允许icmp协议,即允许ping服务器
iptables -A INPUT -m set ! --match-set china src -j DROP # 匹配china链,非国内IP则直接丢弃包
iptables -A INPUT -p udp --dport 5060 -j ACCEPT # 允许UDP协议的5060端口
iptables -A INPUT -p udp --dport 20000:30000 -j ACCEPT # 允许UDP协议的20000-30000端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT # 允许TCP协议的80端口
iptables -A INPUT -p tcp --dport 443 -j ACCEPT # 允许TCP协议的443端口
iptables -A INPUT -j DROP # 未匹配以上规则的请求直接丢弃
iptables -A OUTPUT -j ACCEPT # 允许全部出网数据包
iptables -A FORWARD -j DROP # 不允许Iptables的FORWARD转发
iptables -L -v -n --line-numbers # 展示详情
iptables -D INPUT 9 #删除指定
配置ssh双端口
打开 /etc/ssh/sshd_config,添加多个 Port 指令,例如:
Port 22
Port 9002
sudo systemctl restart sshd
配置实例
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A INPUT -i enp2s0 -p tcp --dport 9002 -j ACCEPT
iptables -A INPUT -p tcp --dport 8066 -j ACCEPT
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
iptables -A INPUT -p tcp --dport 8768 -j ACCEPT
iptables -A INPUT -p tcp --dport 9000 -j ACCEPT
iptables -A INPUT -j DROP
iptables -A OUTPUT -j ACCEPT
iptables -A FORWARD -j ACCEPT
持久化
sudo apt install iptables-persistent
sudo iptables -L -v -n --line-numbers
sudo netfilter-persistent save