CentOS 防火墙实用操作

系统防火墙启动时,以防外界访问;
需要外界访问时,如果关闭防火墙,将失去防护能力;
每个服务都有自己的端口号,所以在防火墙启动时,可以通过开放端口为外界指定访问该服务;

CentOS有两个版本的防火墙,CentOS 7以前是iptables,默认关闭,且没有配置文件,所以防火墙打不开,需要建立配置文件

vim /etc/sysconfig/iptables:

  *filter

  :INPUT ACCEPT [0:0]

  :FORWARD ACCEPT [0:0]

  :OUTPUT ACCEPT [0:0]

  -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

  -A INPUT -p icmp -j ACCEPT

  -A INPUT -i lo -j ACCEPT

  -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

  -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j AC

  -A OUTPUT-m state --state NEW -m tcp -p tcp --dport 80 -j AC

  -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j AC

  -A OUTPUT-m state --state NEW -m tcp -p tcp --dport 3306 -j AC

  -A INPUT -j REJECT --reject-with icmp-host-prohibited

  -A FORWARD -j REJECT --reject-with icmp-host-prohibited

  COMMIT

如上在此配置文件中添加和开放端口,然后service iptables restart重启防火墙服务

centos7默认启动防火墙,防火墙启动时才可使用防火墙命令(括号内时centos 6的命令,同时适用于centos 7,但iptables需要改为fireword)

8080为端口号示例

1、暂时启动防火墙:systemctl start firewalld (service iptables start)
重启防火墙:systemctl restart firewalld (service iptables restart)
设置开机启动:systemctl enable firewalld (chkconfig iptables on)
2、暂时关闭防火墙:systemctl stop firewalld (service iptables stop)
设置开机关闭:systemctl disable firewalld (chkconfig iptables off)

3、开放已存在的端口:firewall-cmd --zone=public --add-port=8080/tcp(加上 --permanent是设置开机开放(即永久性的));
添加并开启新端口:iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
关闭端口:iptables -I INPUT -p tcp --dport 8080 -j DROP
4、移除端口:firewall-cmd --zone=public --remove-port=8080/tcp –permanent
5、查看防火墙状态:firewall-cmd --state(service iptables status)
6、重新加载防火墙(刷新):firewall-cmd --reload
7、查看开放了哪些端口:firewall-cmd --permanent --zone=public --list-ports
查看本机开启了哪些服务:firewall-cmd --permanent --zone=public --list-services

全部查看: netstat -anp

异国有风雪,天涯莫思君 分享一些学Java开发路上的疑难疑点,希望关注方便采纳
原文地址:https://www.cnblogs.com/shuangfeike/p/11390153.html