8_ iptables 与 firewalld 防火墙(RHEL7)—学习笔记
iptables
ACCEPT(允许流量通过)
REJECT(拒绝流量通过)
LOG(记录日志信息)
DROP(拒绝流量通过)
ping -c 4 192.168.10.10
firewalld
firewall-cmd --get-default-zone # 查看 firewalld 服务当前所使用的区域
firewall-cmd --get-zone-of-interface=eno16777728 # 查询 eno16777728 网卡在 firewalld 服务中的区域
firewall-cmd --permanent --zone=external --change-interface=eno16777728
firewall-cmd --permanent --get-zone-of-interface=eno16777728
firewall-cmd --set-default-zone=public # 把 firewalld 服务的当前默认区域设置为 public
firewall-cmd --get-default-zone
firewall-cmd --panic-on # 启动/关闭 firewalld 防火墙服务的应急状况模式,阻断一切网络连接
firewall-cmd --panic-off
firewall-cmd --zone=public --query-service=ssh # 查询 public 区域是否允许请求 SSH 和 HTTPS 协议的流量
firewall-cmd --zone=public --query-service=https
firewall-cmd --zone=public --add-service=https
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
firewall-cmd --permanent --zone=public --remove-service=http
firewall-cmd --reload
firewall-cmd --zone=public --add-port=8080-8081/tcp
firewall-cmd --zone=public --list-ports
firewall-cmd --permanent --zone=public --add-forward-port=
port=888:proto=tcp:toport=22:toaddr=192.168.10.10
firewall-cmd --reload
查看 firewalld 服务当前所使用的区域:
firewall-cmd --get-default-zone
查询 eno16777728 网卡在 firewalld 服务中的区域:
firewall-cmd --get-zone-of-interface=eno16777728
把 firewalld 服务中 eno16777728 网卡的默认区域修改为 external,并在系统重启后生效
firewall-cmd --permanent --zone=external --change-interface=eno16777728
firewall-cmd --get-zone-of-interface=eno16777728
firewall-cmd --permanent --get-zone-of-interface=eno16777728
把 firewalld 服务的当前默认区域设置为 public:
firewall-cmd --set-default-zone=public
firewall-cmd --get-default-zone
启动/关闭 firewalld 防火墙服务的应急状况模式,阻断一切网络连接
firewall-cmd --panic-on
firewall-cmd --panic-off
查询 public 区域是否允许请求 SSH 和 HTTPS 协议的流量
firewall-cmd --zone=public --query-service=ssh
firewall-cmd --zone=public --query-service=https
把 firewalld 服务中请求 HTTPS 协议的流量设置为永久允许,并立即生效:
firewall-cmd --zone=public --add-service=https
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
把 firewalld 服务中请求 HTTP 协议的流量设置为永久拒绝,并立即生效:
firewall-cmd --permanent --zone=public --remove-service=http
firewall-cmd --reload
把在 firewalld 服务中访问 8080 和 8081 端口的流量策略设置为允许,但仅限当前生效:
firewall-cmd --zone=public --add-port=8080-8081/tcp
firewall-cmd --zone=public --list-ports
把原本访问本机 888 端口的流量转发到 22 端口,要且求当前和长期均有效:
firewall-cmd --permanent --zone=public --add-forward-port=888:proto=tcp:toport=22:toaddr=192.168.10.10
firewall-cmd --reload
在客户端使用 ssh 命令尝试访问 192.168.10.10 主机的 888 端口
ssh -p 888 192.168.10.10
在 firewalld 服务中配置一条富规则,使其拒绝
192.168.10.0/24 网段的所有用户访问本机的 ssh 服务(22 端口)
firewall-cmd --permanent --zone=public --add-rich-rule=""
rule family="ipv4" source address="192.168.10.0/24" service name="ssh" reject"
firewall-cmd --reload
服务的访问控制列表
vim /etc/hosts.deny
sshd:* # 禁止访问本机 sshd 服务的所有流量
vim /etc/hosts.allow
sshd:192.168.10. # 放行源自 192.168.10.0/24 网段,访
# 问本机 sshd 服务的所有流量
图形管理工具
firewall-config