Nochmal PF: pf und Samba

Errorsmith

Kompiliertier
Ich versuche gerade Samba (wieder) ans laufen zu bekommen.
So sieht der relevante Bereich meiner pf.conf aus:
Code:
[... schnipp ... ]
intnet20="192.168.20.0/24"
intnet23="192.168.23.0/24"
intnet24="192.168.24.0/24"
intnet25="192.168.24.0/24"

# allowed internal ports
#             ssh cups win                rpc ntp
intern_tcp ="{22,631,135,137,138,139,445,111,123}"
#             cups win                rpc ntp 
intern_udp ="{631,135,137,138,139,445,111,123}"

### tables
# internal nets
table <localnets> persist {192.168.20.0/24, 192.168.23.0/24, 192.168.24.0/24, 192.168.25.0/24 }

# options
set skip on lo0
set loginterface tun0
set block-policy return

scrub in on $extif all
scrub out on $extif all

### translation rules
# debug / emergeny
# nat on $extif          from    any     to any  -> ($extif)

### icmp / traceroute
# only lan is allowed to do this
nat on $extif proto icmp from $intnet20         to any -> ($extif)
nat on $extif proto icmp from $intnet23         to any -> ($extif)
nat on $extif proto icmp from $intnet24         to any -> ($extif)
nat on $extif proto icmp from $intnet25         to any -> ($extif)

### services
# dns
nat on $extif proto {tcp,udp}   from    $dnsservers to any port 53 -> ($extif)

# http
nat on $extif proto tcp         from 192.168.24.10 to any port 80 -> ($extif)
### filter
block log all

### internal access
# clients can access these ports inside the local net
pass quick proto tcp    from <localnets> to <localnets> port $intern_tcp keep state queue (internal)
pass quick proto udp    from <localnets> to <localnets> port $intern_udp keep state queue (internal)
pass quick proto tcp    from <localnets> port $intern_tcp to <localnets> keep state queue (internal)
pass quick proto udp    from <localnets> port $intern_udp to <localnets> keep state queue (internal)

# allow broadcast
pass quick              from <localnets> to 255.255.255.255 keep state queue (internal)

[... schnapp ... ]

Ich bekomme dennoch "block" Ereignisse angezeigt wenn ich versuche auf das Samba Netz zuzugreifen:

Code:
1372320193.468669 rule 0..16777216/0(match): block in on vlan24: 192.168.24.10.4057 > 192.168.20.1.445: Flags [R], seq 1596699177, win 0, length 0
1372320204.220315 rule 0..16777216/0(match): block in on vlan24: 192.168.24.10.4017 > 192.168.20.1.445: Flags [R], seq 2685401098, win 0, length 0
1372320204.793098 rule 0..16777216/0(match): block in on vlan24: 192.168.24.10.4063 > 192.168.20.1.445: Flags [P.], seq 1846108855:1846108931, ack 2811420670, win 16303, length 76SMB PACKET: SMBtconX (REQUEST)

1372320206.981243 rule 0..16777216/0(match): block in on vlan24: 192.168.24.10.4057 > 192.168.20.1.445: Flags [R], seq 1596699177, win 0, length 0

Irgendwie bin ich grad doof!? :confused:

Die Regeln also solches greifen: Ich kann auf die freigegebenen Dienste (ssh, cups, etc.) ansonsten zugreifen, nur Samba zickt rum.

Wo ist mein Problem?

Nachtrag:
Selbst mit der Regel:
pass quick from <localnets> to any keep state

bekomme ich o.g. Blockereignisse. Was stimmt da nicht?



Grüße,
errorsmith
 
Zuletzt bearbeitet:
Ist das alles im Log? Sieht danach aus, als würde der state verschwinden, bevor die Verbindung korrekt abgerissen wird, sonst würde ja gleich das erste SYN geblockt und nicht nur RST.

Am Rande: Die zwei rules mit "from ... port ..." verstehe ich auch nicht. Dass der source port mal einem der Dienste entspricht, kommt doch gar nicht vor. Hast du auf diesen Regeln überhaupt Treffer?
 
Moin

Ich habe die Regeln weiter gefasst als notwendig um sicher zu sein. Testweise auch mit "flags any" erweitert. Und ja, ich habe Treffer darauf.

Ich habe das Problem weiter eingegrenzt:

Der "Server" (Sol) ist mit vier Netzwerkkarten in vier Subnetzen ($intnetXX). Samba ist auf diese vier Netze konfiguriert (und lo0).

Das scheint hier arg für Verwirrung zu sorgen:

Entferne ich die Konfiguration für die vier Netze aus der Sambakonfiguration und ersetze sie durch ein einzelnes Netz, funktioniert alles wie es soll. Aber nur in dem entsprechenden Subnetz. Füge ich die anderen drei Netze wieder hinzu, hängt er wieder. Ich denke das der Server Anfragen auf einem Netz bekommt und sie auf einem anderen Netz beantwortet. Eigentlich sollte der Samba-Traffic nämlich garnicht auf der Firewall ankommen. Der Server sitzt ja im am gleichen Switch und Subnetz wie der Client, sollte also seine Pakete direkt schicken und nicht über den Router.

Warum das so ist, kann ich aber noch nicht sagen, erst recht nicht wie ich das abstelle.

Grüße,
errorsmith
 
Ach stimmt ja, das ist ja die Firewall und nicht der Server.

Die Firewall muss sich doch überhaupt nicht um Traffic kümmern, der von ihr aus hinter und mit dem Server stattfindet.

PS: "Treffer" im Sinne von "die Regel erzeugt states"? Denn dass sie evaluiert wird, ist klar. Sie dürfte nur nie matchen.

Edit: Poste mal von der Firewall und dem Server komplette ifconfig -a und netstat -rn outputs.
 
Server:
Code:
[root@sol ~]# ifconfig -a
rl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=8<VLAN_MTU>
        ether 00:08:a1:66:28:26
        inet 192.168.23.1 netmask 0xffffff00 broadcast 192.168.23.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=389b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
        ether 00:1b:21:11:8f:1f
        inet 192.168.20.1 netmask 0xffffff00 broadcast 192.168.20.255
        inet 192.168.20.2 netmask 0xffffffff broadcast 192.168.20.2
        inet 192.168.20.3 netmask 0xffffffff broadcast 192.168.20.3
        inet 192.168.20.10 netmask 0xffffffff broadcast 192.168.20.10
        inet 192.168.20.4 netmask 0xffffffff broadcast 192.168.20.4
        inet 192.168.20.5 netmask 0xffffffff broadcast 192.168.20.5
        inet 192.168.20.141 netmask 0xffffffff broadcast 192.168.20.141
        inet 192.168.20.20 netmask 0xffffffff broadcast 192.168.20.20
        inet 192.168.20.21 netmask 0xffffffff broadcast 192.168.20.21
        inet 192.168.20.7 netmask 0xffffffff broadcast 192.168.20.7
        inet 192.168.20.252 netmask 0xffffffff broadcast 192.168.20.252
        inet 192.168.20.52 netmask 0xffffffff broadcast 192.168.20.52
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
rl1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=8<VLAN_MTU>
        ether 00:08:a1:66:28:05
        media: Ethernet autoselect
        status: no carrier
em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC>
        ether 00:1b:21:50:e5:9b
        inet 192.168.25.1 netmask 0xffffff00 broadcast 192.168.25.255
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
em2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC>
        ether 00:1b:21:50:e5:9f
        inet 192.168.24.1 netmask 0xffffff00 broadcast 192.168.24.255
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
pflog0: flags=141<UP,RUNNING,PROMISC> metric 0 mtu 33152
pfsync0: flags=0<> metric 0 mtu 1460
        syncpeer: 224.0.0.240 maxupd: 128
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=3<RXCSUM,TXCSUM>
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x8
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
        nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
[root@sol ~]# netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            192.168.24.66      UGS        19   126579    em2
127.0.0.1          link#8             UH          0     5308    lo0
192.168.20.0/24    link#2             U          13    52795    em0
192.168.20.1       link#2             UHS         0    72404    lo0
192.168.20.2       link#2             UHS         0   102966    lo0 =>
192.168.20.2/32    link#2             U           0        0    em0
192.168.20.3       link#2             UHS         0     8825    lo0 =>
192.168.20.3/32    link#2             U           0        0    em0
192.168.20.4       link#2             UHS         0    18846    lo0 =>
192.168.20.4/32    link#2             U           0        0    em0
192.168.20.5       link#2             UHS         0    10400    lo0 =>
192.168.20.5/32    link#2             U           0        0    em0
192.168.20.7       link#2             UHS         0      166    lo0 =>
192.168.20.7/32    link#2             U           0        0    em0
192.168.20.10      link#2             UHS         0    34738    lo0 =>
192.168.20.10/32   link#2             U           0        0    em0
192.168.20.20      link#2             UHS         0   117486    lo0 =>
192.168.20.20/32   link#2             U           0        0    em0
192.168.20.21      link#2             UHS         0    18826    lo0 =>
192.168.20.21/32   link#2             U           0        0    em0
192.168.20.52      link#2             UHS         0   303991    lo0 =>
192.168.20.52/32   link#2             U           0        0    em0
192.168.20.141     link#2             UHS         0   134111    lo0 =>
192.168.20.141/32  link#2             U           0        0    em0
192.168.20.252     link#2             UHS         0    10171    lo0 =>
192.168.20.252/32  link#2             U           0        0    em0
192.168.23.0/24    link#1             U           6   110550    rl0
192.168.23.1       link#1             UHS         0      128    lo0
192.168.24.0/24    link#5             U           4   545626    em2
192.168.24.1       link#5             UHS         0      207    lo0
192.168.25.0/24    link#4             U           2     5871    em1
192.168.25.1       link#4             UHS         0       92    lo0

Internet6:
Destination                       Gateway                       Flags      Netif Expire
::1                               ::1                           UH          lo0
fe80::%lo0/64                     link#8                        U           lo0
fe80::1%lo0                       link#8                        UHS         lo0
ff01:8::/32                       fe80::1%lo0                   U           lo0
ff02::%lo0/32                     fe80::1%lo0                   U           lo0

rl1 ist das NIC an dem vor dem Umbau das WLAN AP angeschlossen war. Baue ich bei Gelegenheit aus. Auf em0 liegen einige jails mit Diensten wie einem internen WWW Server und MAil-AV Scanner.

Firewall:

Code:
root@igel:/usr/home/extern # ifconfig -a
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC>
        ether 00:1b:21:11:8d:5f
        inet 192.168.200.1 netmask 0xffffff00 broadcast 192.168.200.255
        inet6 fe80::21b:21ff:fe11:8d5f%em0 prefixlen 64 scopeid 0x1
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
vr0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=82808<VLAN_MTU,WOL_UCAST,WOL_MAGIC,LINKSTATE>
        ether 00:e0:c5:4e:79:c3
        inet 10.0.0.1 netmask 0xff000000 broadcast 10.255.255.255
        inet6 fe80::2e0:c5ff:fe4e:79c3%vr0 prefixlen 64 scopeid 0x7
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
pflog0: flags=100<PROMISC> metric 0 mtu 33200
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
pfsync0: flags=0<> metric 0 mtu 1500
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        syncpeer: 0.0.0.0 maxupd: 128
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
        inet 127.0.0.1 netmask 0xff000000
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0xa
        nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
enc0: flags=0<> metric 0 mtu 1536
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
vlan20: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=3<RXCSUM,TXCSUM>
        ether 00:1b:21:11:8d:5f
        inet 192.168.20.66 netmask 0xffffff00 broadcast 192.168.20.255
        inet6 fe80::21b:21ff:fe11:8d5f%vlan20 prefixlen 64 scopeid 0xc
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
        vlan: 20 parent interface: em0
vlan23: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=3<RXCSUM,TXCSUM>
        ether 00:1b:21:11:8d:5f
        inet 192.168.23.66 netmask 0xffffff00 broadcast 192.168.23.255
        inet6 fe80::21b:21ff:fe11:8d5f%vlan23 prefixlen 64 scopeid 0xd
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
        vlan: 23 parent interface: em0
vlan24: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=3<RXCSUM,TXCSUM>
        ether 00:1b:21:11:8d:5f
        inet 192.168.24.66 netmask 0xffffff00 broadcast 192.168.24.255
        inet6 fe80::21b:21ff:fe11:8d5f%vlan24 prefixlen 64 scopeid 0xe
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
        vlan: 24 parent interface: em0
vlan25: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=3<RXCSUM,TXCSUM>
        ether 00:1b:21:11:8d:5f
        inet 192.168.25.66 netmask 0xffffff00 broadcast 192.168.25.255
        inet6 fe80::21b:21ff:fe11:8d5f%vlan25 prefixlen 64 scopeid 0xf
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
        vlan: 25 parent interface: em0
vlan40: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=3<RXCSUM,TXCSUM>
        ether 00:1b:21:11:8d:5f
        inet 192.168.40.66 netmask 0xffffff00 broadcast 192.168.40.255
        inet6 fe80::21b:21ff:fe11:8d5f%vlan40 prefixlen 64 scopeid 0x10
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
        vlan: 40 parent interface: em0
vlan41: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=3<RXCSUM,TXCSUM>
        ether 00:1b:21:11:8d:5f
        inet 192.168.41.66 netmask 0xffffff00 broadcast 192.168.41.255
        inet6 fe80::21b:21ff:fe11:8d5f%vlan41 prefixlen 64 scopeid 0x11
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
        vlan: 41 parent interface: em0
vlan42: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=3<RXCSUM,TXCSUM>
        ether 00:1b:21:11:8d:5f
        inet 192.168.42.66 netmask 0xffffff00 broadcast 192.168.42.255
        inet6 fe80::21b:21ff:fe11:8d5f%vlan42 prefixlen 64 scopeid 0x12
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
        vlan: 42 parent interface: em0
vlan43: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=3<RXCSUM,TXCSUM>
        ether 00:1b:21:11:8d:5f
        inet 192.168.43.66 netmask 0xffffff00 broadcast 192.168.43.255
        inet6 fe80::21b:21ff:fe11:8d5f%vlan43 prefixlen 64 scopeid 0x13
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
        vlan: 43 parent interface: em0
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1492
        options=80000<LINKSTATE>
        inet 87.162.8.190 --> 217.0.116.231 netmask 0xffffff00
        nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
        Opened by PID 1795
root@igel:/usr/home/extern # netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            217.0.116.231      UGS         0    29479   tun0
10.0.0.0/8         link#7             U           0        0    vr0
10.0.0.1           link#7             UHS         0        0    lo0
87.162.8.190       link#20            UHS         0        0    lo0
127.0.0.1          link#10            UH          0        0    lo0
192.168.20.0/24    link#12            U           0   238506 vlan20
192.168.20.66      link#12            UHS         0        7    lo0
192.168.22.0/24    192.168.200.2      UGS         0     1827    em0
192.168.23.0/24    link#13            U           0     3908 vlan23
192.168.23.66      link#13            UHS         0       86    lo0
192.168.24.0/24    link#14            U           0    19460 vlan24
192.168.24.66      link#14            UHS         0       13    lo0
192.168.25.0/24    link#15            U           0        0 vlan25
192.168.25.66      link#15            UHS         0        0    lo0
192.168.40.0/24    link#16            U           0    15928 vlan40
192.168.40.66      link#16            UHS         0       16    lo0
192.168.41.0/24    link#17            U           0        0 vlan41
192.168.41.66      link#17            UHS         0        0    lo0
192.168.42.0/24    link#18            U           0        0 vlan42
192.168.42.66      link#18            UHS         0        0    lo0
192.168.43.0/24    link#19            U           0        0 vlan43
192.168.43.66      link#19            UHS         0        0    lo0
192.168.200.0/24   link#1             U           0       46    em0
192.168.200.1      link#1             UHS         0       25    lo0
217.0.116.231      link#20            UHS         0        0   tun0

Internet6:
Destination                       Gateway                       Flags      Netif Expire
::/96                             ::1                           UGRS        lo0
::1                               link#10                       UH          lo0
::ffff:0.0.0.0/96                 ::1                           UGRS        lo0
fe80::/10                         ::1                           UGRS        lo0
fe80::%em0/64                     link#1                        U           em0
fe80::21b:21ff:fe11:8d5f%em0      link#1                        UHS         lo0
fe80::%vr0/64                     link#7                        U           vr0
fe80::2e0:c5ff:fe4e:79c3%vr0      link#7                        UHS         lo0
fe80::%lo0/64                     link#10                       U           lo0
fe80::1%lo0                       link#10                       UHS         lo0
fe80::%vlan20/64                  link#12                       U        vlan20
fe80::21b:21ff:fe11:8d5f%vlan20   link#12                       UHS         lo0
fe80::%vlan23/64                  link#13                       U        vlan23
fe80::21b:21ff:fe11:8d5f%vlan23   link#13                       UHS         lo0
fe80::%vlan24/64                  link#14                       U        vlan24
fe80::21b:21ff:fe11:8d5f%vlan24   link#14                       UHS         lo0
fe80::%vlan25/64                  link#15                       U        vlan25
fe80::21b:21ff:fe11:8d5f%vlan25   link#15                       UHS         lo0
fe80::%vlan40/64                  link#16                       U        vlan40
fe80::21b:21ff:fe11:8d5f%vlan40   link#16                       UHS         lo0
fe80::%vlan41/64                  link#17                       U        vlan41
fe80::21b:21ff:fe11:8d5f%vlan41   link#17                       UHS         lo0
fe80::%vlan42/64                  link#18                       U        vlan42
fe80::21b:21ff:fe11:8d5f%vlan42   link#18                       UHS         lo0
fe80::%vlan43/64                  link#19                       U        vlan43
fe80::21b:21ff:fe11:8d5f%vlan43   link#19                       UHS         lo0
ff01::%em0/32                     fe80::21b:21ff:fe11:8d5f%em0  U           em0
ff01::%vr0/32                     fe80::2e0:c5ff:fe4e:79c3%vr0  U           vr0
ff01::%lo0/32                     ::1                           U           lo0
ff01::%vlan20/32                  fe80::21b:21ff:fe11:8d5f%vlan20 U        vlan20
ff01::%vlan23/32                  fe80::21b:21ff:fe11:8d5f%vlan23 U        vlan23
ff01::%vlan24/32                  fe80::21b:21ff:fe11:8d5f%vlan24 U        vlan24
ff01::%vlan25/32                  fe80::21b:21ff:fe11:8d5f%vlan25 U        vlan25
ff01::%vlan40/32                  fe80::21b:21ff:fe11:8d5f%vlan40 U        vlan40
ff01::%vlan41/32                  fe80::21b:21ff:fe11:8d5f%vlan41 U        vlan41
ff01::%vlan42/32                  fe80::21b:21ff:fe11:8d5f%vlan42 U        vlan42
ff01::%vlan43/32                  fe80::21b:21ff:fe11:8d5f%vlan43 U        vlan43
ff02::/16                         ::1                           UGRS        lo0
ff02::%em0/32                     fe80::21b:21ff:fe11:8d5f%em0  U           em0
ff02::%vr0/32                     fe80::2e0:c5ff:fe4e:79c3%vr0  U           vr0
ff02::%lo0/32                     ::1                           U           lo0
ff02::%vlan20/32                  fe80::21b:21ff:fe11:8d5f%vlan20 U        vlan20
ff02::%vlan23/32                  fe80::21b:21ff:fe11:8d5f%vlan23 U        vlan23
ff02::%vlan24/32                  fe80::21b:21ff:fe11:8d5f%vlan24 U        vlan24
ff02::%vlan25/32                  fe80::21b:21ff:fe11:8d5f%vlan25 U        vlan25
ff02::%vlan40/32                  fe80::21b:21ff:fe11:8d5f%vlan40 U        vlan40
ff02::%vlan41/32                  fe80::21b:21ff:fe11:8d5f%vlan41 U        vlan41
ff02::%vlan42/32                  fe80::21b:21ff:fe11:8d5f%vlan42 U        vlan42
ff02::%vlan43/32                  fe80::21b:21ff:fe11:8d5f%vlan43 U        vlan43

Die vlan40-43 sind WLAN. Bei dem WLAN AP muß ich - um VLAN nutzen zu können - den MultiSSID Modus aktivieren der mir zwingend 4 SSID vorgibt. Genutzt wird nur vlan40, die anderen haben kein DHCP und werden ansonsten auf der Firewall auch geblockt. (block quick on vlan41)

p.s.: Warum blockt pf die Pakete trotz "flags any" Regel?


Grüße,
errorsmith
 
Ich schau mir das grad an.

Schon dass Server und Firewall anscheinend in 2 (Edit: 3) Netzen zusammenhängen, in denen dann auch noch Clients sitzen, ist mir suspekt. em0 auf der Firewall ist gleichzeitig VLAN parent und hat eine IP-Adresse, d.h. tagged und untagged VLANs werden gemischt.

Das ist für mich das reinste Chaos. Alles abreißen und richtig neuplanen ist da leider mein erster Reflex.

Edit: Sehe ich das richtig, dass die Clients in 192.168.24/24 die Firewall als default route haben, und auf den Server über dessen 192.168.20/24-Adresse zugreifen? Der Witz, die Firewall als zentrale Stelle zu etablieren war ja, dass sie sämtlichen Traffic kontrolliert, und nicht, dass der Server dann mit verschiedenen interfaces immer noch direkt an den Clients hängt. Wenn dafür die Performance der Firewall nicht reicht, dann musst du das Setup wie vorher betreiben und halt auf den rdr verzichten oder den rdr auf dem Server machen. So wie jetzt ist das leider Flickwerk^10.

PS: Wenn der WLAN AP dir VLANs liefert, die du gar nicht haben willst, wieso konfigurierst du die dann überhaupt als Interface, noch dazu mit IP-Adresse, um die dann eh zu blocken? VLAN tags, die der Kernel nicht zuordnen kann, sollten eigtl automatisch gedroppt werden.
 
Zuletzt bearbeitet:
intnet25 scheint auch falsch definiert zu sein, oder? Zumindest ist es der gleiche Range wie intnet24.

Gruß
Markus
 
intnet25 scheint auch falsch definiert zu sein, oder? Zumindest ist es der gleiche Range wie intnet24.

Gruß
Markus

Abschreibfehler. intnet25 ist 192.168.25.0/24 und auch richtig in der pf.conf eingetragen. Danke trotzdem. :)

Ich schau mir das grad an.
Schon dass Server und Firewall anscheinend in 2 (Edit: 3) Netzen zusammenhängen, in denen dann auch noch Clients sitzen, ist mir suspekt.
Die Idee ist (gewesen): Jedes der Subnetze hat "seinen" Server bzw. seinen Link zum Server. Der Server verwaltet die dort "ansässigen" Clients (ldap, samba, etc). Sozusagen ein Workgroup-Server. Die Firewall kümmert sich im wesentlichen um den Traffic in und aus dem Internet und hat mit dem Intranet nur insofern etwas zu tun als das sie den rdr auf den Proxy vornimmt.

em0 auf der Firewall ist gleichzeitig VLAN parent und hat eine IP-Adresse, d.h. tagged und untagged VLANs werden gemischt.
Mein Fehler, ein Überbleibsel, ist schon korrigiert.

Das ist für mich das reinste Chaos.
Für mich auch, ich versuche die Situation gerade zu verbessern. Komplett neu geht leider (im Moment) nicht.

Edit: Sehe ich das richtig, dass die Clients in 192.168.24/24 die Firewall als default route haben, und auf den Server über dessen 192.168.20/24-Adresse zugreifen? Der Witz, die Firewall als zentrale Stelle zu etablieren war ja, dass sie sämtlichen Traffic kontrolliert, und nicht, dass der Server dann mit verschiedenen interfaces immer noch direkt an den Clients hängt. Wenn dafür die Performance der Firewall nicht reicht, dann musst du das Setup wie vorher betreiben und halt auf den rdr verzichten oder den rdr auf dem Server machen. So wie jetzt ist das leider Flickwerk^10.
Ja, das siehst du richtig: Die Firewall ist der default-gateway. Der Server läuft ja als Fileserver etc und da macht es Sinn wenn die Clients direkt darauf zugreifen können. Warum die Clients in 192.168.24.0/24 auf die Idee kommen den Server über 192.168.20.1 anzusprechen weiß ich allerdings nicht: Sie sollen ja eigentlich die IP ansprechen die im jeweiligen Subnetz hängt.

PS: Wenn der WLAN AP dir VLANs liefert, die du gar nicht haben willst, wieso konfigurierst du die dann überhaupt als Interface, noch dazu mit IP-Adresse, um die dann eh zu blocken? VLAN tags, die der Kernel nicht zuordnen kann, sollten eigtl automatisch gedroppt werden.
Das wußte ich nicht. Ich dachte ich müßte die explizit blocken.

Nach der jetzigen Aufteilung sind die Subnetze so verteilt:
vlan20: Die jails mit den Serverdiensten
vlan23: Telefone, Drucker, ein NAS, ein Mediaserver etc
vlan24: Clients
vlan25: Clients
vlan40: Wifi (41-43 werde ich morgen deaktivieren)

Zur Firewall:
Das Teil ist ein 1GHz VIA C7 mit 512MB RAM, WAN ist eine Onboard vr0 Karte (100MBit, hängt am DSL Modem), auf der LAN Seite habe ich die GBit em0 Karte.
Eigentlich sollte das ausreichen denke ich, auch wenn ich natürlich die 3xGBit vom Server damit nicht auslasten kann. Allerdings 1xGbit sollte die Firewall sättigen können.

Der Plan war eigentlich die Clients über Subnetze zu trennen, allerdings ohne für jedes Subnetz einen eigenen Server bereitstellen zu müssen.

Der Server hängt in den Subnetzen drin und stellt Dienste bereit. Der Hauptgrund dafür das er in jedem Subnetz drin hängt ist Samba: Alle anderen Dienste funktionieren über Subnetzgrenzen hinweg.

Leider habe ich nunmal Windowsclients (Win7, XP) in beiden Subnetzen. Wenn ich das richtig verstehe muß ich also entweder diese Trennung aufgeben (alle Clients und Wifi in ein Subnetz packen) oder auf Samba verzichten. Oder gibt es noch eine Möglichkeit die mir nicht einfällt? Broadcast funktioniert ja nur innerhalb von Subnetzgrenzen. Die Server für jedes Subnetz zu virtualisieren wäre vielleicht noch eine Möglichkeit, hört sich für mich aber irgendwie nach noch mehr Gefrickel an... :ugly: (Und ist auch nicht wirklich ernst gemeint)

Grüße,
errorsmith
 
Hoi,
ich werde aus dem Chaos da irgendwie ned so recht schlau. Könnte bitte jemand dem kleinen Bären mal ein Bildchen malen wie das physikalisch nu so genau aufgebaut aussieht und wer da mit wem wie verbunden ist ? - danke.

Gruß Bummibär
 
Bitte sehr:

Da der Switch sich mit den VLANs wie mehrere kleine Switches verhält, habe ich auch mehrere Switches eingezeichnet. Physikalisch steht aber ein großer Switch mit VLANs hier herum.

Der Server dient u.a. als Samba Server für die Clients, daher ist er an jedem Subnetz angeschlossen. IP Forwarding auf dem Server ist deaktiviert.

Ich bin für Vorschläge offen wie das besser geht. Vorgabe ist eigentlich nur die Trennung mit Subnetzen und Samba/Windowsnetzwerk.

Grüße, errorsmith
 

Anhänge

  • netzwerk_ist2.webp
    netzwerk_ist2.webp
    27,5 KB · Aufrufe: 355
Wird der Server per DNS angesprochen und hat er damnach einen Namen mit allen IP-Adressen? Das könnte nämlich dazu führen, dass Clients round-robin-style einfach irgendwelche anderen Adressen ansprechen.

Falls das so ist, kannst du im BIND mit dem sortlist-Parameter die Antworten an die Clients je nach deren Quelladresse sortieren.

Das wäre aber nur ein weiterer Workaround, um das Gebastel am Leben zu halten. :)

Edit: Inwiefern brauchst du die Samba-Broadcasts? Nur damit der Server von alleine in der Liste erscheint? Theoretisch brauchst du nur 445/tcp zum Server, dann kann jeder Client den Server per \\<IP-Adresse oder Name>\ ansprechen und du kannst shares permanent verbinden. Dann kommen die auch beim Booten wieder und du brauchst keine Broadcasts.

Noch theoretischer kann auf der Firewall auch ein Samba-Helper laufen, der die Broadcasts in den Netzen einsammelt und per Unicast an den Server schickt. Das ist dann aber eher advanced Windows-Zeug, was ich noch nicht selber gemacht habe.

Ich würde einfach den Server in sein eigenes Netz packen mit einer einzigen IP-Adresse.
 
Zuletzt bearbeitet:
Wird der Server per DNS angesprochen und hat er damnach einen Namen mit allen IP-Adressen? Das könnte nämlich dazu führen, dass Clients round-robin-style einfach irgendwelche anderen Adressen ansprechen.

Falls das so ist, kannst du im BIND mit dem sortlist-Parameter die Antworten an die Clients je nach deren Quelladresse sortieren.

Das wäre aber nur ein weiterer Workaround, um das Gebastel am Leben zu halten. :)

Edit: Inwiefern brauchst du die Samba-Broadcasts? Damit der Server von alleine in der Liste erscheint? Theoretisch brauchst du nur 445/tcp zum Server, dann kann jeder Client den Server per \\<IP-Adresse oder Name>\ ansprechen und du kannst shares permanent verbinden. Dann kommen die auch beim Booten wieder und du brauchst keine Broadcasts.

@DNS:
Der Server hat in jedem Subnetz seinen eigenen FQDN, der hostname ist aber natürlich der selbe.
Also:
sol.$subnetzname.domain

@Workaround: Ich wäre ja mitllerweile durchaus bereit den platt zu machen und bei der Gelegenheit FBSD 9.1 zu installieren wenn es denn dann funktionieren täte!?

@Windows: Es funktionierte bei mir noch nie wenn der Server nicht auch mit mindestens einer NIC im gleichen Subnetz war: Browsing nicht und - wenn überhaupt - grottenlahme Dateitransfers. Zugegeben: Das letzte mal hab ich das mit Win2K Clients versucht, ggf hat sich da etwas getan? Da bisher der Server auch der Router war, stellte sich das Problem auch nie. Abgesehen davon das der direkte Weg zum Fileserver eigentlich dem "Umweg" über die Firewall vorzuziehen wäre... Dachte ich zumindest.

Grüße,
errorsmith
 
Das stimmt natürlich. Wenn die Firewall wirklich zentral wird, muss sie natürlich den ganzen Samba-Traffic auch stemmen können.

SMB hat in Vista oder 7 irgendein Update erfahren, wodurch Transfers erheblich schneller wurden. Sollte man ggf. mal testen, wie gut das durch die Firewall läuft.

Wenn das nicht hinhaut mit der Geschwindigkeit und der Server in jedem Netz bleiben muss, dann würde ich die Firewall aber lieber wieder so wie vorher platzieren und den Proxy vom Server an die Firewall verfrachten, damit das rdr sauber geht.

Code:
               Proxy      Clients
                 |           |
Internet --- Firewall --- Server --- Clients
                             |
                          Clients
 
Code:
               Proxy      Clients
                 |           |
Internet --- Firewall --- Server --- Clients
                             |
                          Clients

Also den "Server" wieder als Router konfigurieren und den Proxy gewissermaßen in ein zu erstellendes DMZ stellen. Da der der Datentransfer zwischen Firewall / Proxy und Server nicht sehr groß ist reicht dann die em0 auf jeden Fall aus.

Ok, das wäre ntürlich auch eine Möglichkeit. Ich denke mal in meiner Situation auch die Sinnvollste unter den aktuellen Umständen. Wäre es bei Neuplanung auch der "richtige" Weg? Dieses "gewachsene" Teil geht mir eigentlich mitllerweile etwas auf den Wecker: Die Strukturen werfen ja immer mehr Probleme auf wie man sieht.

Ich danke dir aber erstmal vielmals für deine Hilfe!

Grüße,
errorsmith
 
Naja, in dem Setup wären die Clients ja nicht wirklich getrennt, wenn auf dem Server nicht auch pf läuft. Also müsste auf dem Server pf laufen. Damit würde er zur Firewall. Auf der Firewall lässt man aber i.A. so wenig Dienste wie möglich laufen, also müsste man Samba ausgliedern.

Man landet also mehr oder weniger zwangsläufig bei so einem Setup, wo dann allerdings die Firewall auch was leisten muss: http://www.bsdforen.de/showpost.php?p=252589&postcount=14

Edit: Notdürftig können man da den Server mit in das Netz stellen, wo die Performance am meisten gebraucht wird. Ich denke mal, WLAN-Clients füllen eh kein Gigabit.
 
Die Wlan Clients nicht, aber die anderen schon. Die Trennung nach Subnetz soll das Filtern auf der Firewall und dem Proxy erleichtern bzw ermöglichen, der Zugriff im LAN ist relativ frei. abgesehen von den WLan Clients, die aber kein Samba brauchen und daher eh direkt an der Firewall hängen bleiben können.


Grüße,
errorsmith
 
Ich habe auch versucht mein LAN in verschiedene VLANs aufzuteilen (außerhalb der DMZ) und dabei mehrere Ansätze versucht (Layer3 Switch, Router mit OpenWRT ...).

Wie TCM schon schrieb brauchst du da schon ordentlich Dampf um die Gigabit-Geschwindigkeit mit mehreren Regeln hinzubekommen.

Ich hab nach den Tests die Geräte wieder zurückgeschickt, da ich nicht zufrieden war und die Umgestaltung auf die Einführung meiner beiden neuen Server verschoben. Auf einem der Server wird dann eine zentrale Instanz eines Filterdienstes (iptables, pf, ipfw o.ä.) laufen, der dann als virtuelle Firewall agiert.

Da ich mich immer noch im Heimnetz befinde kann ich damit leben. Wenn es etwas professioneller sein sollte, würde ich eine entsprechend dimensionierte UNIX-FW verwenden. Wenn du "Klicki-Bunti" möchtest, kann ich fwbuilder empfehlen - da kannst du dir die Regelwerke von einer zentralen Station zusammen bauen und alles gut dokumentieren.

Gruß
Markus
 
Um es anders auszudrücken:

Um es richtig richtig zu machen müßte ich:
- in jedem Subnetz einen Samba DC hinstellen, ggf einen PDC der darüber angeordnet ist
- Den eigentlichen Fileserver in ein eigenes Subnetz legen und die Freigaben auf den PDCs z.B. via NFS mounten
- Eine Firewall mit ordentlich Leistung und ggf mehreren GBit Links aufbauen

Kurz: No way!

Ich kriege vielleicht einen zweiten Server durch, aber definitiv nicht 4!

Der Server hat genug Leistung, gibt mir im Dateitransfer - je nachdem zw 60 & 90MB/s, auch auf mehreren Leitungen gleichzeitig.

Wenn es etwas professioneller sein sollte, würde ich eine entsprechend dimensionierte UNIX-FW verwenden. Wenn du "Klicki-Bunti" möchtest, kann ich fwbuilder empfehlen - da kannst du dir die Regelwerke von einer zentralen Station zusammen bauen und alles gut dokumentieren.


Hm. Mit FreeBSD auf allen relevanten System habe ich ja schon ein UNIX. Klickibunti brauche ich nicht, ich mag meinen Texteditor ;) Es ist nur so das das Durcheinander hier ein wenig wirr ist. Eigentlich komme ich auf der Konsole am besten klar. Ich habe ernsthaft überlegt das alles komplett neu aufzubauen. Das Problem ist: Mir fällt keine Möglichkeit ein, das so aufzubauen, das ich mehr oder weniger mit der Infrastruktur auskomme die ich habe. Ich habe weder Platz noch Geld zur Verfügung um hier eine Reihe von Servern hinzustellen, ganz abgesehen davon das die sich zu Tode langweilen würden mangels Auslastung. Selbst der zentrale Server hat selten loadavg5 > 0.5
Die einzige Alternative die ich sonst sehe, wäre Virtualisierung, aber das wirft ja seine eigenen Probleme auf und wäre für mein relativ kleines Netz auch irgendwie völlig krank :ugly:

Ich denke ich werde es so machen:

WLAN bleibt mit VLAN an der Firewall.
Der Proxy kommt ebenfalls da dran, über ein zweites VLAN.
Das dritte VLAN bekommt der Server, der wird dort mit 100MBit angeschlossen.

Der Server wird zunächst weiterhin das Routing zwischen den Subnetzen übernehmen, mit den 3 GBit Karten die schon darin sind und ohne pf. Das vierte Subnetz mit den jails lasse ich auch erstmal wie es ist. Da ohnehin ein Update auf 9.1 geplant ist (und immer wieder verschoben wurde), werde ich den Server entweder aktualisieren oder einen neuen aufstellen. Das wäre eine Gelegenheit mal ein wenig mit vimage herumzuspielen, vielleicht erledigt sich dann ein Teil meiner Probleme.

Die Alternative wäre, alle Clients in ein Subnetz und die drei GBit Karten als Trunk definieren. Aber das wäre nur die allerletzte Wahl, wenn es anders nicht geht.

Ich danke für eure Hilfe und Anregungen,
Grüße,
errorsmith
 
Zurück
Oben