Ubuntu

防火牆 - 允許遠端客戶端 Ping Internet

  • March 22, 2019

我的網路地址是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

任何幫助將不勝感激。

如果您還沒有這樣做,我建議您檢查此頁面:

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

此處通過範例解釋了基礎知識。

根據您的版本,您還可以從以下位置複製和自定義範例文件:

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

從快速瀏覽來看,在我看來,缺少以下內容:

  1. 偽裝/NAT(snatmasq文件,取決於您的版本)。
  2. IP_Forwarding=ON在shorewall.conf 中。
  3. Service Shorewall 在啟動時自動啟動。

補充1:還請檢查您正在使用的shorewall宏的正確拼寫。例如:

Ping (and not PING)

加法2:您有預設的本地到網際網路策略都是允許的:

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

這意味著預設情況下,從本地網路到 Internet 的所有內容都將被允許通過防火牆。現在,如果您想阻止某些東西,比如說埠 80,您需要在頂部放置一個阻止規則。例如:

HTTP(DROP)    loc    net

而且你不需要任何額外的允許規則來從區域網路 ping 到網路。

引用自:https://serverfault.com/questions/959251