前言
centos 7 默认安装了 firewalld 作为防火墙软件,一直以来使用的都是 iptables,所以还是选择用 iptables 作为防火墙。
禁用 firewalld
systemctl status firewalld
先查看服务器上面 firewalld 的状态
systemctl disable firewalld
systemctl stop firewalld
ps:如果服务器上面有服务正在 LISTEN 端口,或者 sshd 在 22 端口,但是为弱密码,切换防火墙软件的时候,要小心。
安装 iptables
yum install iptables-services
安装 iptables 软件,启动并开机启动:
systemctl start iptables && systemctl enable iptables
配置规则链之前最好先把原来的配置文件备份:
cp -a /etc/sysconfig/iptables /etc/sysconfig/iptables.bak
刚安装的 iptables 五条链默认都是 ACCETP,需要设置 INPUT 方向所有的请求都拒绝,这条策略加上以后所有访问服务器的请求全都会被拒绝掉,如果有服务正在运行,那么小心操作,因为连 terminal 都会断掉!
iptables -P INPUT DROP
开启 80 端口:
iptables -I INPUT -p tcp —dport 80 -m state —state NEW -j ACCEPT
开启 22 端口并限制访问 ip:
iptables -I INPUT -s 192.168.1.1 -p tcp —dport 22 -m state —state NEW -j ACCEPT
保存至配置文件:
iptables-save > /etc/sysconfig/iptables