在 shorewall 中,使用嵌套區域時如何封鎖來自外部主機的要求?

在 shorewall 中,使用嵌套區域時如何封鎖來自外部主機的要求?

我有一台帶有網路介面的 Debian 伺服器,我已經為 KVM 和 shorewall 配置了一個橋同一介面中的兩個區域 所以我有“net”區域和用於 kvm 來賓的“kvm”,以下是 /etc/shorewall 中的相關檔案:

介面

#ZONE   INTERFACE       OPTIONS
net     br0             tcpflags,logmartians,nosmurfs,sourceroute=0,dhcp

區域

#ZONE   TYPE    OPTIONS                 IN                      OUT
#                                       OPTIONS                 OPTIONS
fw      firewall
net     ipv4
kvm:net ipv4

主機

#ZONE           HOSTS                           OPTIONS
kvm             br0:192.168.1.0/24              -

kvm 區域是 net 區域的子區域,現在我想為 kvm 來賓提供網路存取:

斯納特

#ACTION            SOURCE            DEST 
MASQUERADE        192.168.1.0/24     br0

最後這是策略文件:

#SOURCE         DEST            POLICY          LOG LEVEL       LIMIT:BURST
$FW             all             ACCEPT
kvm             net             ACCEPT
kvm             $FW             DROP            info
net             all             DROP            #info
# The FOLLOWING POLICY MUST BE LAST
all             all             REJECT          #info

我還配置了一個 dhcp 伺服器來向訪客提供 IP,並在 shorewall.conf 中允許 ip_forward

一切正常,但我看到很多鄰居伺服器向 dhcp 伺服器發出請求並從中獲取 IP。

如果我理解正確的話,每個使用我的 kvm IP 範圍的鄰居都是我的 kvm 區域的一部分,並且透過我的防火牆訪問互聯網

我想過透過 mac 位址過濾 kvm 區域成員,但我認為這不是一個好的解決方案,因為 mac 位址可以輕鬆設置,我該如何解決這個問題?

答案1

如果我正確理解您的情況,您希望將您的客人與非客人分開,並使用 shorewall 以不同的方式控制他們的網路和服務存取。我認為最簡單的方法是將這兩組分成不同的區域。客人將連接到私人網橋,非客人將連接到區域網路。我在下面創建了一些範例設定檔來說明我的觀點。我不知道您希望非訪客在多大程度上訪問互聯網或kvm網路中的服務,因此為了簡單起見,我阻止了互聯網訪問並允許訪問所有服務。

介面

#ZONE   INTERFACE       OPTIONS
kvm     br0
net     eth0             tcpflags,logmartians,nosmurfs,sourceroute=0,dhcp

區域

#ZONE   TYPE    OPTIONS                 IN                      OUT
#                                       OPTIONS                 OPTIONS
fw      firewall
net     ipv4
kvm     ipv4
lan:net ipv4

主機

#ZONE           HOSTS                           OPTIONS
lan             eth0:192.168.1.0/24  

政策

#SOURCE         DEST            POLICY          LOG LEVEL       LIMIT:BURST
$FW             all             ACCEPT
kvm             net             ACCEPT
kvm             lan             ACCEPT
kvm             $FW             DROP            info
lan             net             DROP
lan             kvm             ACCEPT
lan             $FW             DROP
net             all             DROP            #info
# The FOLLOWING POLICY MUST BE LAST
all             all             REJECT          #info

相關內容