Linux 7关闭防火墙方法
在之前的版本中关闭防火墙等服务的命令是
service iptables stop
/etc/init.d/iptables stop
在Linux 7中没有这个服务
[root@aliserver3 firewalld]#
cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
[root@aliserver3 firewalld]#
service iptables stop
Redirecting to /bin/systemctl stop iptables.service
Failed to stop iptables.service: Unit iptables.service not loaded.
[root@aliserver3 firewalld]#
/etc/init.d/iptables stop
-bash: /etc/init.d/iptables: No such file or directory
在Linux 7开始,使用systemctl工具来管理服务程序,包括了service和chkconfig
[root@aliserver3 firewalld]#
systemctl list-unit-files|grep enabled
autovt@.service enabled
collectd.service enabled
crond.service enabled
cups.service enabled
dbus-org.fedoraproject.FirewallD1.service enabled
dmraid-activation.service enabled
firewalld.service enabled
getty@.service enabled
influxd.service enabled
influxdb.service enabled
lvm2-monitor.service enabled
microcode.service enabled
nscd.service enabled
ntpd.service enabled
postgresql-9.5.service enabled
rsyslog.service enabled
sshd.service enabled
sysstat.service enabled
systemd-readahead-collect.service enabled
systemd-readahead-drop.service enabled
systemd-readahead-replay.service enabled
cups.socket enabled
dm-event.socket enabled
lvm2-lvmetad.socket enabled
lvm2-lvmpolld.socket enabled
nscd.socket enabled
rpcbind.socket enabled
default.target enabled
multi-user.target enabled
runlevel2.target enabled
runlevel3.target enabled
runlevel4.target enabled
启动服务:systemctl start firewalld.service
关闭服务:systemctl stop firewalld.service
重启服务:systemctl restart firewalld.service
显示服务的状态:systemctl status firewalld.service
在开机时启用服务:systemctl enable firewalld.service
在开机时禁用服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service;echo $?
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看端口占用
netstat -lnp|grep 8080
netstat -ntlp|grep 80
查看所有打开的端口:
#
firewall-cmd --zone=public --list-ports
加入一个端口到区域:
# firewall-cmd --zone=public --add-port=8080/tcp --permanent
开启80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
出现success表明添加成功
命令含义:
--zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
重启防火墙
systemctl restart firewalld.service
配置firewalld
查看版本:$ firewall-cmd --version
查看帮助:$ firewall-cmd --help
显示状态:$ firewall-cmd --state
查看区域信息: $ firewall-cmd --get-active-zones
查看指定接口所属区域:$ firewall-cmd --get-zone-of-interface=eth0
拒绝所有包:# firewall-cmd --panic-on
取消拒绝状态:# firewall-cmd --panic-off
查看是否拒绝:$ firewall-cmd --query-panic
更新防火墙规则:
# firewall-cmd --reload
# firewall-cmd --complete-reload
两者的区别就是第一个无需断开连接,就是firewalld特性之一动态添加规则,第二个需要断开连接,类似重启服务