iptable - 本地网络出站流量的配置

iptable - 本地网络出站流量的配置

我重新安装了一个基于 CentOS 的 ClearOS 盒子。之前的安装运行良好,已经 3 年了,没有出现任何故障,但我可能在安装过​​程中配置错误,因为一切没有按预期运行。

  1. 禁用内容过滤后,无法浏览互联网。我以前可以不通过代理浏览,但现在除非启用 Web 代理,否则无法浏览互联网。ssh 流量也是如此。

  2. 这更严重:本地网络无法连接到外部 ssh 服务器。似乎端口 22 不允许出去,但我已将防火墙设置为允许所有外部流量。

下面发布相关配置、路由和 iptables 列表。

iptables:

[root@alcastraz ~]# iptables --list -n -v
Chain INPUT (policy DROP 223 packets, 9229 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 DROP       all  --  eth0   *       0.0.0.0/0            46.241.27.20        
    0     0 DROP       all  --  eth0   *       46.241.27.20         0.0.0.0/0           
    0     0 DROP       all  --  eth0   *       0.0.0.0/0            196.29.120.73       
    0     0 DROP       all  --  eth0   *       196.29.120.73        0.0.0.0/0           
   88  3768 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0           state INVALID 
    0     0 REJECT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:0x12/0x12 state NEW reject-with tcp-reset 
   18  1602 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:!0x17/0x02 state NEW 
    0     0 DROP       all  --  eth0   *       127.0.0.0/8          0.0.0.0/0           
    0     0 DROP       all  --  eth0   *       169.254.0.0/16       0.0.0.0/0           
 9422 2499K ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  pptp+  *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  tun+   *       0.0.0.0/0            0.0.0.0/0           
14099 2515K ACCEPT     all  --  eth1   *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     udp  --  eth2   *       0.0.0.0/0            192.168.0.50        udp spt:68 dpt:67 
    0     0 ACCEPT     tcp  --  eth2   *       0.0.0.0/0            192.168.0.50        tcp spt:68 dpt:67 
    0     0 ACCEPT     udp  --  eth2   *       192.168.0.0/24       192.168.0.50        udp dpt:53 
    0     0 ACCEPT     tcp  --  eth2   *       192.168.0.0/24       192.168.0.50        tcp dpt:53 
   35  1015 ACCEPT     icmp --  eth0   *       0.0.0.0/0            0.0.0.0/0           icmp type 0 
    0     0 ACCEPT     icmp --  eth0   *       0.0.0.0/0            0.0.0.0/0           icmp type 3 
    0     0 ACCEPT     icmp --  eth0   *       0.0.0.0/0            0.0.0.0/0           icmp type 8 
    0     0 ACCEPT     icmp --  eth0   *       0.0.0.0/0            0.0.0.0/0           icmp type 11 
   76 25624 ACCEPT     udp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           udp spt:67 dpt:68 
    0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp spt:67 dpt:68 
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            192.168.0.50        tcp dpt:80 
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            96.22.88.25         tcp dpt:80 
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            192.168.0.50        tcp dpt:443 
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            96.22.88.25         tcp dpt:443 
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            192.168.0.50        tcp dpt:22 
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            96.22.88.25         tcp dpt:22 
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            192.168.0.50        tcp dpt:1875 
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            96.22.88.25         tcp dpt:1875 
    0     0 ACCEPT     udp  --  eth2   *       0.0.0.0/0            0.0.0.0/0           udp dpts:1024:65535 state RELATED,ESTABLISHED 
    0     0 ACCEPT     tcp  --  eth2   *       0.0.0.0/0            0.0.0.0/0           tcp dpts:1024:65535 state RELATED,ESTABLISHED 
  438 56397 ACCEPT     udp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           udp dpts:1024:65535 state RELATED,ESTABLISHED 
18645 6458K ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpts:1024:65535 state RELATED,ESTABLISHED 

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 DROP       all  --  eth0   *       0.0.0.0/0            46.241.27.20        
    0     0 DROP       all  --  eth0   *       46.241.27.20         0.0.0.0/0           
    0     0 DROP       all  --  eth0   *       0.0.0.0/0            196.29.120.73       
    0     0 DROP       all  --  eth0   *       196.29.120.73        0.0.0.0/0           
    0     0 ACCEPT     icmp --  *      *       192.168.0.0/24       0.0.0.0/0           icmp type 0 
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            192.168.0.0/24      icmp type 0 
    0     0 ACCEPT     icmp --  *      *       192.168.0.0/24       0.0.0.0/0           icmp type 3 
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            192.168.0.0/24      icmp type 3 
    4   336 ACCEPT     icmp --  *      *       192.168.0.0/24       0.0.0.0/0           icmp type 8 
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            192.168.0.0/24      icmp type 8 
    0     0 ACCEPT     icmp --  *      *       192.168.0.0/24       0.0.0.0/0           icmp type 11 
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            192.168.0.0/24      icmp type 11 
    0     0 DROP       icmp --  *      *       192.168.0.0/24       0.0.0.0/0           
    0     0 DROP       icmp --  *      *       0.0.0.0/0            192.168.0.0/24      
    0     0 ACCEPT     all  --  *      *       192.168.0.0/24       192.168.0.0/24      state RELATED,ESTABLISHED 
    0     0 DROP       all  --  *      *       192.168.0.0/24       192.168.0.0/24      
    0     0 ACCEPT     all  --  *      *       192.168.0.0/24       192.168.0.0/24      
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
    0     0 ACCEPT     all  --  eth2   *       0.0.0.0/0            0.0.0.0/0           
   84  4754 ACCEPT     all  --  eth1   *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  pptp+  *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  tun+   *       0.0.0.0/0            0.0.0.0/0           

Chain OUTPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
 9440 2500K ACCEPT     all  --  *      lo      0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  *      pptp+   0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  *      tun+    0.0.0.0/0            0.0.0.0/0           
15382 6989K ACCEPT     all  --  *      eth1    0.0.0.0/0            0.0.0.0/0           
   35  1015 ACCEPT     icmp --  *      eth0    0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     udp  --  *      eth0    0.0.0.0/0            0.0.0.0/0           udp spt:68 dpt:67 
    0     0 ACCEPT     tcp  --  *      eth0    0.0.0.0/0            0.0.0.0/0           tcp spt:68 dpt:67 
    0     0 ACCEPT     tcp  --  *      eth2    192.168.0.50         0.0.0.0/0           tcp spt:80 
    0     0 ACCEPT     tcp  --  *      eth0    96.22.88.25          0.0.0.0/0           tcp spt:80 
    0     0 ACCEPT     tcp  --  *      eth2    192.168.0.50         0.0.0.0/0           tcp spt:443 
    0     0 ACCEPT     tcp  --  *      eth0    96.22.88.25          0.0.0.0/0           tcp spt:443 
    0     0 ACCEPT     tcp  --  *      eth2    192.168.0.50         0.0.0.0/0           tcp spt:22 
    0     0 ACCEPT     tcp  --  *      eth0    96.22.88.25          0.0.0.0/0           tcp spt:22 
    0     0 ACCEPT     tcp  --  *      eth2    192.168.0.50         0.0.0.0/0           tcp spt:1875 
    0     0 ACCEPT     tcp  --  *      eth0    96.22.88.25          0.0.0.0/0           tcp spt:1875 
    0     0 ACCEPT     all  --  *      eth2    0.0.0.0/0            0.0.0.0/0           
21153 3140K ACCEPT     all  --  *      eth0    0.0.0.0/0            0.0.0.0/0           

Chain drop-lan (0 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0  

路线:

[root@alcastraz ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     *               255.255.255.0   U     0      0        0 eth1
192.168.0.0     *               255.255.255.0   U     0      0        0 eth2
96.22.88.0      *               255.255.255.0   U     0      0        0 eth0
default         modemcable001.8 0.0.0.0         UG    0      0        0 eth0

任何能解决此问题的帮助或信息都将不胜感激。

谢谢!

答案1

这是一套人为制定的规则吗?

有一件事突然出现:网络 192.168.0.0/24 处于开启状态接口:eth1eth2——这几乎肯定不是您想要的。

对于常规调试,您也可以使用此命令:

watch -d iptables -L -v -n

(或类似情况。)然后您可以看到数据包随着流量的增加而增加。这只适用于没有大量无关流量的低流量网络。

要做的另一件事是打开某些防火墙条目的日志记录:使用LOG目标扩展。

另一件事:重置计数并查看丢弃了哪些数据包 - 或者更好的是,将该LOG目标与规则结合使用DROP。在您的列表中,只有两条规则已匹配并丢弃了数据包(脱离上下文的规则):

Chain INPUT (policy DROP 223 packets, 9229 bytes)
 pkts bytes target     prot opt in     out     source               destination         
   88  3768 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0           state INVALID 
   18  1602 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:!0x17/0x02 state NEW 

也许应该对这些进行调查?

为了彻底摆脱这种混乱,我建议使用防火墙生成器,一款出色的基于 GUI 的多防火墙设计器。您可以在任何地方设计防火墙,并将其放置在需要工作的地方 - fwbuilder 甚至有将防火墙推送到远程主机的方法。

答案2

我会考虑使用防火墙生成器来生成防火墙。像 Shorewall 这样有详尽文档并具有一些很好示例配置的工具可以让您的生活更轻松。快速检查一下,三个接口(区域)配置可能是一个不错的起点。shorewall 的关键文件是区域、接口、主机、策略和规则。有许多宏可以根据名称而不是端口生成注释规则。

通常,您的state RELATED,ESTABLISHED规则将位于列表顶部。对各种流量使用单独的链可能有助于了解正在发生的事情。

看来只有两个地址对端口 80 开放访问,这可以解释您的浏览问题。一个应该是内容过滤器。另一个可能是您能够绕过内容过滤器进行浏览的地址。

相关内容