ich hoffe Ihr könnt mir etwas helfen. Ich will shorewall als "bridge Firewall" betrieben. Dazu habe ich mal folgende Grafik erstellt, damit das ganze etwas übersichtlicher für euch ist:
![Bild](https://picload.org/image/pwidadr/unbenaweqnnt.png)
Es geht also darum, ein Netzsegment abzuschirmen. vlan10 ist das interne Netzwerk, vlan100 das "öffentliche" Netzwerk und an vlan20 hängen zwei Maschinen, dazu später mehr. Im Grunde soll von vlan10 aus alle Maschinen aus vlan100 erreichbar sein, umgekehrt aber nur der nginx Proxy Server (10.0.12.1) sowie eine NAS (10.0.12.2) und eine KVM-Instanz (10.0.12.100). An vlan20 hängen zwei Rechner mit zwei IPs. Zwischen vlan10 und vlan20 soll es keine Beschränkungen geben, außer das die Kommunikation nur mit diesen beiden IPs möglich ist (klar kann man das austricksen, aber es sollte für den Anwendungsfall ausreichend sein). Zudem soll aus vlan100 heraus eine IP (10.0.12.20) aus vlan20 erreichbar sein. Auf dem Server unter 10.0.12.1 - der mit Debian 8 Jessie betrieben wird - läuft auch noch ein DHCP-Server, der vlan10 und vlan20 mit Adressen versorgt.
Aktuell habe ich folgende Konfiguration:
/etc/network/interfaces
Code: Alles auswählen
# Hauptschnittstelle, mit dem der Server mit dem Switch verbunden ist
auto bond0
iface bond0 inet manual
slaves eth0 eth1
bond_mode 802.3ad
# VLAN 10 = internes Netz
auto vlan10
iface vlan10 inet manual
vlan-raw-device bond0
# VLAN 20 = internes Netz - externes Segment
auto vlan20
iface vlan20 inet manual
vlan-raw-device bond0
# VLAN 100 = öffentliches Netz
auto vlan100
iface vlan100 inet manual
vlan-raw-device bond0
# Hier laueft saemtlicher interner Traffic zusammen
# Alle Netzwerkschnittstellen der KVM-Server sind hier angeschlossen
auto br0
iface br0 inet static
address 10.0.12.1
netmask 255.255.255.0
gateway 10.0.12.254
network 10.0.12.0
broadcast 10.12.0.255
bridge_ports vlan10
bridge_fd 9
bridge_maxage 12
bridge_maxwait 0
# Hier laueft saemtlicher Traffic zusammen, vom internern Netz sowie externe Zugriffe etc.
# Hier sollte shorewall ein Auge drauf haben
auto br1
iface br1 inet manual
bridge_ports br0 vlan20 vlan100
bridge_fd 9
bridge_maxage 12
bridge_maxwait 0
Code: Alles auswählen
#Zone Interface Broadcast Options
world br1 detect bridge
net br1:vlan100
loc br1:br0
ext br1:vlan20
Code: Alles auswählen
fw firewall
world ipv4
net:world bport4
loc:world bport4
ext:world bport4
Code: Alles auswählen
#SOURCE DEST POLICY LOG LEVEL LIMIT:BURST
loc net ACCEPT
loc ext REJECT
ext loc REJECT
ext net REJECT
net loc DROP
net ext DROP
all all REJECT info
Code: Alles auswählen
# Firewall darf jeder pingen
ACCEPT $FW loc icmp
ACCEPT $FW net icmp
ACCEPT $FW ext icmp
# drei Maschinen sollen von außen für alle per http(s) und ssh erreichbar sein
ACCEPT all loc:10.0.12.1 TCP 80
ACCEPT all loc:10.0.12.1 TCP 443
ACCEPT all loc:10.0.12.1 TCP 22
ACCEPT all loc:10.0.12.2 TCP 80
ACCEPT all loc:10.0.12.2 TCP 443
ACCEPT all loc:10.0.12.2 TCP 22
ACCEPT all loc:10.0.12.100 TCP 80
ACCEPT all loc:10.0.12.100 TCP 443
ACCEPT all loc:10.0.12.100 TCP 22
# Die Maschine im "Außenbereich" soll auch erreichbar sein
ACCEPT all ext:10.0.12.20 TCP
ACCEPT all ext:10.0.12.20 UDP
# Im Außenbereich nur bestimmte IPs erlauben
ACCEPT ext:10.0.12.20 all TCP
ACCEPT ext:10.0.12.20 all UDP
ACCEPT ext:10.0.12.21 all TCP
ACCEPT ext:10.0.12.21 all UDP
ACCEPT net ext:10.0.12.21 TCP
ACCEPT net ext:10.0.12.21 UDP
# Die 10.0.12.20 sollte bereits durch obige Regel komplett freigegeben sein
Würde das so in etwa passen? Kann das funktionieren? Habe ich etwas übersehen? Wäre echt toll wenn einer mit etwas Erfahrung drüber schauen kann und etwas Feedback gibt
![Smile :)](./images/smilies/icon_smile.gif)
![Very Happy :D](./images/smilies/icon_biggrin.gif)
Viele Grüße
julianw