一、检查iptables

执行iptables -V,如果显示如:iptables vx.x.x,说明已经安装了iptables。
如果没有安装的话可以直接yum安装:yum install iptables
启动iptables:service iptables start

二、清除默认的防火墙规则

首先在清除前要将policy INPUT改成ACCEPT,表示接受一切请求。

iptables -P INPUT ACCEPT

清除已有iptables规则:

iptables -F
iptables -X
iptables –Z

三、配置iptables规则

这里仅仅是指导大家配置一些常用的规则,并不是每一条规则都适合每一台VPS。因此,在配置的同时,应选择适合自己系统的iptables规则。

#允许本地回环接口(即运行本机访问本机)
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
# 允许已建立的或相关连的通行
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#允许所有本机向外的访问
iptables -A OUTPUT -j ACCEPT
# 允许访问22端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#允许访问80端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
#允许访问1723端口(架设VPN必须开启)
iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
#允许FTP服务的21和20端口
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
#如果有其他端口的话,规则也类似,稍微修改上述语句就行
#允许icmp包通过,也就是允许ping
iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
#禁止其他未允许的规则访问
iptables -A INPUT -j REJECT //注意:如果22端口未加入允许规则,SSH链接会直接断开。
iptables -A FORWARD -j REJECT

四、屏蔽IP

#屏蔽单个IP的命令是
iptables -I INPUT -s 213.238.175.29 -j DROP

五、规则保存及开机重启

#保存防火墙规则
service iptables save
#重启防火墙才能使规则生效
service iptables restart
# CentOS下可能iptables并不开机自启动,设定开机启动
chkconfig iptables on

六、查看已添加的iptables规则

iptables -L -n

七、删除已添加的iptables规则

将所有iptables以序号标记显示,执行:
iptables -L -n --line-numbers
比如要删除INPUT里序号为8的规则,执行:
iptables -D INPUT 8

最后修改:2020 年 01 月 04 日 10 : 47 AM
如果觉得我的文章对你有用,请随意赞赏