主机出接口为 eth0
所在网络 192.168.1.0/24
网关 192.168.1.254
例子1:现假设不允许该主机访问同网段下的其他主机,但允许访问其他的任意网络
- # 允许出站流量访问网关,意味着可以访问任意网络了
- firewall-cmd --direct --add-rule ipv4 filter OUTPUT 0 -o eth0 -d 192.168.1.254 -j ACCEPT
-
- # 拒绝访问 192.168.1.0/24 网络
- firewall-cmd --direct --add-rule ipv4 filter OUTPUT 1 -o eth0 -d 192.168.1.0/24 -j DROP
例子2:(与上面例子无关)仅允许主机主动访问 172.25.250.9 和 172.25.250.250 拒绝其他所有出站流量,包括网关
- firewall-cmd --direct --add-rule ipv4 filter 0 -o eth0 172.25.250.9 -j ACCEPT
- firewall-cmd --direct --add-rule ipv4 filter 1 -o eth0 172.25.250.250 -j ACCEPT
- firewall-cmd --direct --add-rule ipv4 filter 2 -o eth0 0.0.0.0/0 -j DROP
使用
firewall-cmd --list-all
命令是无法看到这些策略的,因为该命令仅显示入站流量的策略
要查看出站流量策略,请执行
- [root@localhost ~]# firewall-cmd --direct --get-all-rules
- ipv4 filter OUTPUT 0 -o eth0 -d 172.25.250.9 -j ACCEPT
- ipv4 filter OUTPUT 1 -o eth0 -d 172.25.250.250 -j ACCEPT
- ipv4 filter OUTPUT 2 -o eth0 -d 0.0.0.0/0 -j DROP