CentOS6
1、查看防火墙状态
service iptables status
或者:systemctl status iptables
2、开机启用iptables
systemctl enable iptables
#如果需要使用 ip6tables:
systemctl enable ip6tables
禁用:systemctl disable iptables
3、开启和关闭防火墙
1) 永久性生效,重启后不会复原
开启: chkconfig iptables on
关闭: chkconfig iptables off
2) 即时生效,重启后复原
开启: service iptables start
如果是yum安装的iptables也可以用:systemctl restart iptables.service
关闭: service iptables stop
4、开放端口
如果要开放80、22、8081 端口,输入以下命令即可
1 2 3 |
|
保存:
1 |
|
查看打开的端口:
1 |
|
如果是yum安装的iptables,目录是在/etc/sysconfig
开放端口的命令:iptables -A INPUT -p tcp --dport 8000 -j ACCEPT #允许访问8000端口
加完端口记得保存:service iptables save
然后再重启下防火墙:systemctl restart iptables.service
查看已开放的端口:iptables -nvL
5、删除已添加的端口
将所有iptables以序号标记显示:
#iptables -L -n --line-numbers
比如要删除INPUT里序号为1的规则,执行:
iptables -D INPUT 1
6、屏蔽IP
iptables -I INPUT -s 124.23.24.25 -j DROP #屏蔽单个IP的命令
iptables -I INPUT -s 124.0.0.0/8 -j DROP #屏蔽整个IP段从124.0.0.1到124.255.255.254的命令
iptables -I INPUT -s 124.23.0.0/16 -j DROP #屏蔽IP段从124.23.0.1到124.23.255.254的命令
iptables -I INPUT -s 124.23.24.0/24 -j DROP #屏蔽IP段从124.23.24.1到124.23.24.254的命令
CentOS7
1、开启防火墙
systemctl start firewalld.service
2、关闭防火墙
systemctl stop firewalld.service
3、禁止防火墙开机启动
systemctl disable firewalld.service
4、重启防火墙
firewall-cmd --reload
或者systemctl restart firewalld.service
5、查看已经开放的端口
netstat -tlnp(-ntlp)
或者firewall-cmd --list-ports
6、开启端口
firewall-cmd --zone=public --add-port=8081/tcp --permanent
–zone #作用域
–add-port=8081/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效
7、关闭端口
firewall-cmd --permanent --zone=public --remove-port=8081/tcp
8、查看防火墙的状态
firewall-cmd --state