VPS 上配置 iptables 防火墙
jopen
10年前
1.打开iptables文件:
sudo vi /etc/sysconfig/iptables
2.配置内容
# 允许本地回环 127.0.0.1 iptables -A INPUT -i lo -p all -j ACCEPT # 允许已经建立的所有连接 iptables -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT # 允许所有向外发起的连接 iptables -A OUTPUT -j ACCEPT # 拒绝 ping iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j REJECT # 允许 SSH 服务端口 iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 允许 Web 服务端口 iptables -A INPUT -p tcp --dport 80 -j ACCEPT # 拒绝其他所有未被允许的连接 iptables -A INPUT -j REJECT iptables -A FORWARD -j REJECT
这些规则必须要保存,否则下次重启服务器后,规则会丢失。CentOS 和 Debian 的 iptables 保存各有区别:
# CentOS
service iptables save # 保存 service iptables restart # 重启 chkconfig iptables on # 确认服务会随开机自动启动
# Debian
iptables-save > /etc/firewall.conf # 保存规则到一个文件 echo '#!/bin/sh' > /etc/network/if-up.d/iptables # 创建一个开机启动项文件 echo 'iptables-restore < /etc/firewall.conf' >> /etc/network/if-up.d/iptables # 同上,继续添加内容 chmod +x /etc/network/if-up.d/iptables # 修改启动项文件的执行属性
如果不满意以上配置的规则,可以使用以下命令来清空全部规则:
iptables -F iptables -X iptables -Z
到此,全部结束。