Shorewall - 允许远程客户端 Ping 互联网

Shorewall - 允许远程客户端 Ping 互联网

我的网络地址是192.168.5.0。我的主机是192.168.5.1,我的客户端是192.168.5.2。目前,我的客户端无法使用互联网浏览器,甚至无法 ping 通互联网。客户端可以 ping 通本地网络中的主机。

如何让我的客户端通过终端 ping 互联网,并使用 Shorewall 限制它使用浏览器或端口 80?以下是我的配置文件:

/etc/shorewall/interfaces file:

#ZONE     INTERFACE
net      eth0

loc      eth1

eth0 接口是连接到互联网的接口,而 eth1 连接到本地网络。

/etc/shorewall/zones file:

#ZONE    TYPE
fw       firewall
net      ipv4
loc      ipv4

/etc/shorewall/policy file:
#SOURCE     DEST     POLICY     LOGLEVEL
loc         net      ACCEPT
net         all      DROP       $LOG_LEVEL

all         all      REJECT     $LOG_LEVEL

/etc/shorewall/rules file:

?SECTION  ALL
?SECTION  ESTABLISHED
?SECTION  RELATED
?SECTION  INVALID

?SECTION UNTRACKED

?SECTION NEW


DNS(ACCEPT)     $FW    net

SSH(ACCEPT)     loc    $FW

PING(ACCEPT)    loc    $FW

PING(DROP)      net    $FW


ACCEPT    $FW    loc    icmp

ACCEPT    $FW    net    icmp

任何帮助都将非常感激。

答案1

如果你还没有这样做的话,我建议你查看这个页面:

http://www.shorewall.org/two-interface.htm

这里通过示例解释了基础知识。

根据您的版本,您还可以从以下位置复制和自定义示例文件:

 /usr/share/doc/shorewall/examples/two-interfaces

从快速浏览来看,我认为缺少了以下内容:

  1. 伪装/NA​​T(snatmasq文件,取决于您的版本)。
  2. IP_Forwarding=ON在 shorewall.conf 中。
  3. 服务 Shorewall 在启动时自动启动。

补充 1:请检查您使用的 shorewall 宏的拼写是否正确。例如:

Ping (and not PING)

补充2:您有本地到互联网的默认策略全部允许:

/etc/shorewall/policy file:
#SOURCE     DEST     POLICY     LOGLEVEL
loc         net      ACCEPT

这意味着默认情况下,从本地网络到互联网的所有内容都将被允许通过防火墙。现在,如果您想阻止某些东西,比如端口 80,您需要在上面设置一个阻止规则。例如:

HTTP(DROP)    loc    net

并且您不需要任何额外的允许规则来从 LAN 到网络进行 ping。

相关内容