防火墙配置

时间:2016-08-18 22:32:48

标签: routing centos centos7 firewalld

我有一台CentOS 7机器,我试图启用FirewallD,使其比现在更安全一些。它目前被用作在单个接口上配置的11个不同子网之间的路由器,以及允许外部流量进入VPN的第二个接口。我已经按照几个指南在互联网上设置FirewallD,似乎没有任何东西可以通过除外坪。以下是我当前的配置。

firewall-cmd --zone = internal --list-all

internal
  interfaces: eth0
  sources: 192.168.0.0/16
  services: adws dhcpv6-client dns http https ipp-client kerberos ldap ldaps mdns ms-gc ms-gc-ssl ms-wbt msrpc mssql ntp samba samba-client smtp ssh
  ports: 49152-65535/tcp 49152-65535/udp
  masquerade: no
  forward-ports: 
  icmp-blocks: 
  rich rules: 

firewall-cmd --zone = public --list-all

public (active)
  interfaces: eth1
  sources: 
  services: dhcpv6-client ssh
  ports: 81/tcp
  masquerade: no
  forward-ports: 
  icmp-blocks: 
  rich rules: 

firewall-cmd --direct --get-all-rules

ipv4 filter INPUT 0 -i eth1 -p tcp --dport 1723 -j ACCEPT
ipv4 filter INPUT 0 -p gre -j ACCEPT
ipv4 filter POSTROUTING 0 -t nat -o eth1 -j MASQUERADE
ipv4 filter FORWARD 0 -i ppp+ -o eth1 -j ACCEPT
ipv4 filter FORWARD 0 -i eth1 -o ppp+ -j ACCEPT

ip addr show

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:50:56:33:c8:b0 brd ff:ff:ff:ff:ff:ff
    inet 192.168.20.1/24 brd 192.168.20.255 scope global ens160:1
       valid_lft forever preferred_lft forever
    inet 192.168.33.1/24 brd 192.168.33.255 scope global ens160:2
       valid_lft forever preferred_lft forever
    inet 192.168.10.1/24 brd 192.168.10.255 scope global ens160:3
       valid_lft forever preferred_lft forever
    inet 192.168.25.1/24 brd 192.168.25.255 scope global ens160:4
       valid_lft forever preferred_lft forever
    inet 192.168.55.1/24 brd 192.168.55.255 scope global ens160:5
       valid_lft forever preferred_lft forever
    inet 192.168.18.1/24 brd 192.168.18.255 scope global ens160:6
       valid_lft forever preferred_lft forever
    inet 192.168.88.1/24 brd 192.168.88.255 scope global ens160:7
       valid_lft forever preferred_lft forever
    inet 192.168.137.1/24 brd 192.168.137.255 scope global ens160:8
       valid_lft forever preferred_lft forever
    inet 192.168.181.1/24 brd 192.168.181.255 scope global ens160:9
       valid_lft forever preferred_lft forever
    inet 192.168.182.1/24 brd 192.168.182.255 scope global ens160:10
       valid_lft forever preferred_lft forever
    inet 192.168.26.1/24 brd 192.168.26.255 scope global ens160:11
       valid_lft forever preferred_lft forever
3: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:50:56:8b:62:3d brd ff:ff:ff:ff:ff:ff
    inet 172.16.0.10/24 brd 172.16.0.255 scope global dynamic ens192
       valid_lft 4718sec preferred_lft 4718sec

VPN规则工作正常,我可以在172.16.0.10:81点击管理页面,但是eth0上的所有内容都不会通过icmp以外的任何数据包获取。如果您想了解更多详情,请与我们联系。

编辑:我还尝试将eth0移动到受信任区域,然后允许流量,所以我知道这不是接口配置错误。

编辑2:通过进一步测试,我发现CentOS机器接受允许服务的直接连接(例如ssh,dns),但不会将流量路由到其他目的地如果防火墙已关闭,那就像它一样。

1 个答案:

答案 0 :(得分:0)

卸载FirewallD并下载并安装iptables-services pkg以尝试使用iptables,并成功配置FORWARD链以正确路由流量后,我重新评估了--direct的FirewallD配置并注意到了一行I失踪了。

firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i eth0 -o eth0 -j ACCEPT

firewall-cmd --direct --get-all-rules

ipv4 filter INPUT 0 -i eth1 -p tcp --dport 1723 -j ACCEPT
ipv4 filter INPUT 0 -p gre -j ACCEPT
ipv4 filter POSTROUTING 0 -t nat -o eth1 -j MASQUERADE
ipv4 filter FORWARD 0 -i ppp+ -o eth1 -j ACCEPT
ipv4 filter FORWARD 0 -i eth1 -o ppp+ -j ACCEPT
ipv4 filter FORWARD 0 -i eth0 -o eth0 -j ACCEPT