nullmodem
Goto Top

Verständnisfrage zu ACL und Cisco Router

Guten Abend,

heute Abend habe ich mich meinem Cisco Router und ACLs beschäftigt. Aber irgendwie funktioniert es nicht so wie ich es möchte.

Auf meinem Router habe ich drei VLANs (Mein LAN, IoT, Gäste).
In jedem dieser VLANs ist ein DHCP Server.
Als Beispiel nehmen wir das VLAN “Mein LAN“.
Für dieses VLAN habe ich eine ACL erstellt die den SSH Zugriff auf dem Router verbietet soll, aber ich bekomme keine IP Adresse vom DHCP Server.

ip access-list extended vlan2
permit udp any eq bootpc any eq bootpc
deny tcp 192.168.2.0 0.0.0.255 host 192.168.2.254 eq 22
permit ip 192.168.2.0 0.0.0.255 any

Das habe ich auch versucht.
permit udp any any eq bootpc

Bei diesem Eintrag bekomme ich zwar eine IP Adresse, aber komme nicht ins Internet.

permit udp any eq bootpc any eq bootps


Im VLAN Interface ist die ACL Regel eingetragen.
ip access-group vlan2 in

Laut meinem wissen ist es so bei den ACL Regel dass, sobald eine Regel zutrifft ist die weiteren Regelwerk egal.
Ich habe schon nach mehren Lösungen gesucht, aber noch keine die passt.

Hoffe ihr könnt mir helfen..

Gruß

Content-Key: 1849112349

Url: https://administrator.de/contentid/1849112349

Printed on: May 9, 2024 at 00:05 o'clock

Member: aqui
Solution aqui Feb 07, 2022, updated at Oct 14, 2023 at 15:56:48 (UTC)
Goto Top
permit udp any eq bootpc any eq bootpc
Das kann nicht funktionieren weil du fälschlicherweise den gleichen UDP Port in der ACL definiert hast für Source und Destination. Siehe: https://de.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol#Ablauf ...
Ports sind deshalb bei einem von einem Client gesendeten DHCP Request wie folgt: bootpc = 68 und bootps = 67
(Siehe zu den Ports auch HIER)

Der DHCP Client sendet also den initialen DHCP Request mit Source Port 68 (bootpc = client) and Destination Port 67 (bootps = server)!
Folglich muss dein ACL Parameter dann richtig lauten: permit udp any eq bootpc any eq bootps Damit Client DHCP Requests die ACL passieren können.

Der Source und Destination Port ist doch niemals gleich !! Logisch also das diese falsche Regel deine Client DHCP Requests blockt. Die ACL tut also das was sie soll... Works as designed ! 😉
permit udp any any eq bootpc
Das stimmt dann wieder, weil er mit "any" alles akzeptiert an Source Ports und Destination Port aber 67 (bootpc) sein muss, deshalb rennt das also durch !
Auch hier: Works also as designed ! face-wink
Bei diesem Eintrag bekomme ich zwar eine IP Adresse, aber komme nicht ins Internet.
Mmmhh...ansonsten ist das Regelwerk syntaktisch OK und sollte so klappen.
Kann es sein das du einen Folgefehler irgendwo gemacht hast und vergessen hast ip nat inside auf dem VLAN zu setzen oder in der NAT Permit Liste vergessen hast dieses IP Netz einzutragen ?! Dann scheitert das NAT ins Internet.

Grundlagen dazu, wie immer, im Cisco Router Tutorial.
Member: nullModem
nullModem Feb 07, 2022 updated at 13:18:34 (UTC)
Goto Top
Hallo aqui,

Danke, für die Aufklärung.

Wie gesagt wenn ich keine ACL Regel auf dem Interface habe, dann komme ich ins Internet. Der Ping vom Router geht auch durch.
Auszug des VLAN Interfaces:
interface vlan2
description Mein LAN
ip address 192.168.2.254 255.255.255.0
ip nat inside
ip access-group vlan2 in

Die Anleitung habe ich gelesen und denke auch so umsetzt aber, es hängt irgendwo.

Gruß

Edit:

Hier noch ein Auszug der NAT und WAN Regeln:

ip nat inside source list vlan2 interface gi0/0/0 overload
ip nat inside source list vlan3 interface gi0/0/0 overload
ip nat inside source list vlan4 interface gi0/0/0 overload

interface GigabitEthernet0/0/0
description Internet
ip dhcp client client-id ascii CiscoRouter
ip nat outside
no cdp enable
no shutdown
Member: aqui
aqui Feb 07, 2022 updated at 16:36:30 (UTC)
Goto Top
Wichtig wäre natürlich zu erfahren wie du "Internet"" überhaupt definierst ?? Kann ja immer viel bedeuten... face-wink
Du hast einen (Denk)Fehler bei der Zuordnung der NAT ACLs gemacht !
Die Inbound LAN ACLs an den VLAN Interfaces dürfen niemals gleich der NAT ACL sein. Das sind zwei völlig verschiedene (ACL) Baustellen ! Mit der NAT ACL definierst du welche Source IPs outbound geNATet werden. Die haben natürlich mit den lokalen (V)LAN ACLs absolut nichts zu tun und müssen davon zwingen getrennt sein. Deshalb klappt das nicht. Das musst du also zwingend mit einer separaten NAT ACL ändern.
Die überflüssigen NAT overload Kommandos entfallen natürlich bis auf eines und es sollte dann so aussehen:
!
ip nat inside source list NAT_OUT interface gi0/0/0 overload
!
access-list extended NAT_OUT
permit ip 192.168.2.0 0.0.0.255 any
(VLAN 2)
permit ip 192.168.3.0 0.0.0.255 any
(VLAN 3)
permit ip 192.168.4.0 0.0.0.255 any
(VLAN 4)
Member: nullModem
Solution nullModem Feb 08, 2022, updated at Feb 09, 2022 at 00:15:42 (UTC)
Goto Top
Hallo aqui,

Vielen Dank.

Sorry, habe ich dir vergessen zu schreiben. Der Router bekommt seine WAN IP von einem DHCP Server der Private Adressen verteilt wie z.B eine Fritzbox, Speedport usw.


Habe nun die Config angepasst.
ip nat inside source list NAT_OUT interface gi0/0/0 overload
!
ip access-list extended NAT_OUT
permit ip 192.168.2.0 0.0.0.255 any
permit ip 192.168.3.0 0.0.0.255 any
permit ip 192.168.4.0 0.0.0.255 any
Aber leider ohne Erfolg.
Habe dann es dann nochmal mit dem ACL Regeln versucht, obwohl es nicht funktionieren sollte. Hat es dann doch geklappt.
ip access-list extended vlan2
permit udp any eq bootpc any eq bootps
deny tcp 192.168.2.0 0.0.0.255 host 192.168.2.254 eq 22
permit ip 192.168.2.0 0.0.0.255 any
Lass ich die ACL Regel komplett weg bekomme ich auch keine IP Adresse.
ip access-list extended vlan2
deny tcp 192.168.2.0 0.0.0.255 host 192.168.2.254 eq 22
permit ip 192.168.2.0 0.0.0.255 any


Hatte auch was hier im Cisco Forum was darüber gelesen.

Verstehe nicht warum. Würde es aber…

Gruß
Member: aqui
aqui Feb 09, 2022, updated at Oct 14, 2023 at 16:01:51 (UTC)
Goto Top
Der Router bekommt seine WAN IP von einem DHCP Server der Private Adressen verteilt wie z.B eine Fritzbox, Speedport usw.
Ahaaa...da liegt der Hase im Pfeffer!
Da musst du dann natürlich aufpassen wenn du da auch mit einer ACL arbeitest, denn dort ist es ja mit bootpc und bootps genau andersrum, weil in dem Falle der Router ja selber DHCP Client ist. Eingehend am WAN Interface kommt in dem Falle der DHCP Offer vom Server an. Also mit Source Port=67 und Destination Port=68 !
Hier ist die ACL dann genau andersrum also permit udp any eq bootps any eq bootpc

OK, letztlich hängt das aber insgesamt davon ab WIE du am WAN Port arbeitest. Also ob da eine CBAC oder ZBF Firewall werkelt oder ob du mit einfachen ACLs arbeitest. Dazu sagst du ja leider nix aber vermutlich ist es Letzteres, richtig?
obwohl es nicht funktionieren sollte. Hat es dann doch geklappt.
Jetzt wirds leider etwas wirr und wir kommen nicht mehr mit...?! face-sad
WAS bedeutet das denn jetzt ?? ACL funbktioniert ? oder doch nicht ?
Lass ich die ACL Regel komplett weg bekomme ich auch keine IP Adresse.
Wieso "auch" ?? Du schreibst doch oben die ACL funktioniert jetzt. Verwirrung komplett....
Das Cisco Forum beschreibt ja genau die "permit udp any eq bootpc any eq bootps" Lösung wie es bei dir oben auch beschrieben ist. face-wink
Ich checke das mal an einem 886er.
Member: aqui
Solution aqui Feb 09, 2022 updated at 11:52:48 (UTC)
Goto Top
Um's gleich vorweg zunehmen ACL funktioniert erwartungsgemäß fehlerfrei !

back-to-topCisco Router Konfig

!
ip dhcp excluded-address 192.168.25.1 192.168.25.149
ip dhcp excluded-address 192.168.25.200 192.168.25.254
!
ip dhcp pool c886
 network 192.168.25.0 255.255.255.0
 default-router 192.168.25.1
 domain-name testnetz.home.arpa
 dns-server 192.168.25.1
!
!
interface Vlan1
 description Local LAN
 ip address 192.168.25.1 255.255.255.0
 ip access-group VLAN1 in
 ip nat inside
!
interface Vlan99
 description Internet Port
 ip address 10.1.1.22 255.255.255.0
 ip nat outside
!
ip nat inside source NAT_OUT interface Vlan99 overload
!
ip route 0.0.0.0 0.0.0.0 10.1.1.254
!
ip access-list extended NAT_OUT
 permit ip 192.168.25.0 0.0.0.255 any
!
ip access-list extended VLAN1
 permit udp any eq bootpc any eq bootps
 deny   tcp 192.168.25.0 0.0.0.255 host 192.168.25.1 eq telnet 22
 permit ip 192.168.25.0 0.0.0.255 any 

back-to-topPing Check auf Internet Router

cisco886-r2# ping 8.8.8.8 source vlan 99
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 8.8.8.8, timeout is 2 seconds:
Packet sent with a source address of 10.1.1.22
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/9/12 ms 
Fazit: Router arbeitet schonmal wie er soll ! face-wink

back-to-topCheck der ACL mit lokalem Win 10 Client

Mit PuTTY wurde versucht per Telnet und per SSH auf den Router zuzugreifen was die ACL oben ja blockt.
Man sieht am ipconfig Output das DHCP vom Router kommt !
ping
Fazit: PuTTY Zugriff auf den Router scheitert, Internet (Ping 8.8.8.8) klappt fehlerlos.

back-to-topCheck der ACL auf dem Router

Hier sieht man anhand der ACL Matchcounter das die ACL fehlerfrei arbeitet.
  • DHCP Matchcount 1 ist der durchgelassene DHCP Request des Win 10 Clients
  • 3 Matches des geblockten Telnet und SSH Zugangs sind 2 Telnet und 1 SSH Versuch von PuTTY
  • Restmatches ist ein Ping und der Zugriff auf administrator.de um den Post hier zu tippen
cisco886-r2# show ip access-lists VLAN1
Extended IP access list VLAN1
    10 permit udp any eq bootpc any eq bootps (1 match)
    20 deny tcp 192.168.25.0 0.0.0.255 host 192.168.25.1 eq telnet 22 (3 matches)
    30 permit ip 192.168.25.0 0.0.0.255 any (270 matches) 

back-to-topFazit

Works as designed !! 😉
Member: nullModem
nullModem Feb 09, 2022 updated at 21:41:05 (UTC)
Goto Top
Hallo aqui,

Erstmal vielen Dank für deine Mühe und Geduld.

OK, das hängt aber davon ab WIE du am WAN Port arbeitest. Also ob da eine CBAC oder ZBPF Firewall werkelt > oder ob du mit einfachen ACLs arbeitest. Dazu sagst du ja leider nix.

Ich arbeite aktuell ausschließlich mit ACLs.

Jetzt wirds leider etwas wirr und wir kommen nicht mehr mit...?!
WAS bedeutet das denn jetzt ?? ACL funktioniert ? oder doch nicht ?

Das war auf deine Antwort ermit udp any eq bootps any eq bootpc bezogen obwohl ich das bootps und bootpc drehen musste. Denke das hängt damit zusammen das ich an der WAN Schnittstelle die IP per DHCP Server bekomme.

Wieso "auch" ?? Du schreibst doch oben die ACL funktioniert jetzt. Verwirrung komplett...

Ja, war so gemeint wie im Cisco Forum. permit udp any eq bootpc any eq bootps

Deine Cisco Router Config habe ich so übernommen und angepasst aber, leider komme ich nicht ins Internet. IP Adresse, Subnet, Gateway, DNS, bekomme ich alles vom Router. Ping von Router aus ins Internet funktioniert.

Ich komme nur mit dieser Config ins Internet:
ip access-list extended vlan2
permit udp any eq bootpc any eq bootps
deny tcp 192.168.2.0 0.0.0.255 host 192.168.2.254 eq 22
permit ip 192.168.2.0 0.0.0.255 any
!
ip nat inside source list NAT_OUT interface gi0/0/0 overload
!
ip access-list extended NAT_OUT
permit ip 192.168.2.0 0.0.0.255 any 
!
interface GigabitEthernet0/0/0
description Internet
ip dhcp client client-id ascii CiscoRouter
ip address dhcp
ip nat outside
no cdp enable
no shutdown
!
interface vlan2 
description Mein LAN 
ip address 192.168.2.254 255.255.255.0 
ip nat inside 
ip access-group vlan2 in


Gruß
Member: aqui
aqui Feb 10, 2022 updated at 12:06:32 (UTC)
Goto Top
Ich komme nur mit dieser Config ins Internet:
Nichts anderes sagt ja auch die dir oben gepostete Lösungs Konfig mit dem 886er. Die und deine mit der es geht sind doch völlig identisch ?! Du hast die doch völlig identisch auf deine IPs angepasst wie man oben sieht und damit klappt es ja wie du selber schreibst.
Da ist es doch auch erwartbar das du damit ins Internet kommst ?!
Sorry, aber wenn es jetzt genau so geht wie es auch von der ACL logisch richtig ist und dir gesagt wurde WO ist denn jetzt genau dein Problem ??
Dann ist die ACL Frage jetzt doch richtig gelöst...oder ?!
Member: nullModem
nullModem Feb 10, 2022 at 20:55:29 (UTC)
Goto Top
Hallo aqui,

Kurz vorweg es, funktioniert alles. Danke face-smile

Die Config ist nicht ganz gleich. Du hast noch diese Config drin, was ich nicht habe.
<coder>
interface Vlan99
description Internet Port
ip address 10.1.1.22 255.255.255.0
ip nat outside
!
ip route 0.0.0.0 0.0.0.0 10.1.1.254


Was mir noch eingefallen ist.
Kann ich den zweiten WAN Anschluss auch noch verwenden, wenn der erste ausfällt? (auch Per DHCP Client)
Und würde die Config dann so aussehen?
ip access-list extended vlan2 
permit udp any eq bootpc any eq bootps 
deny tcp 192.168.2.0 0.0.0.255 host 192.168.2.254 eq 22 
permit ip 192.168.2.0 0.0.0.255 any 
! 
ip nat inside source list NAT_OUT2 interface gi0/0/1 overload 
! 
ip access-list extended NAT_OUT2 
permit ip 192.168.2.0 0.0.0.255 any 
! 
interface GigabitEthernet0/0/0 
description Internet 
ip dhcp client client-id ascii CiscoRouter 
ip address dhcp 
ip nat outside 
no cdp enable 
no shutdown 
! 
interface vlan2 
description Mein LAN 
ip address 192.168.2.254 255.255.255.0 
ip nat inside 
ip access-group vlan2 in 

Oder geht das nicht weil es schon so verwendet wird.

Gruß
Member: aqui
aqui Feb 10, 2022 updated at 21:47:04 (UTC)
Goto Top
Die Config ist nicht ganz gleich. Du hast noch diese Config drin, was ich nicht habe.
Doch hast du auch, nur das dein Internet Interface das Gi 0/0/0 ist und meins eben das "vlan 99". Welches Outbound Internet Interface man nimmt und wie das dann heisst ist doch vollkommen Wumpe ! Relevant ist doch rein nur die Interface Konfig und die ist, wie du ja selber siehst, zu deiner identisch !
Kann ich den zweiten WAN Anschluss auch noch verwenden, wenn der erste ausfällt?
Natürlich ! Das ist ein Cisco und keine FritzBox. Du kannst jedes Interface dafür verwenden. Den 2ten WAN Port sowieso. Du kannst das sogar automatisieren.
Eine 2te NAT_OUT ACL anzulegen dafür ist aber Blödsinn. Die unterscheidet sich doch überhaupt nicht von der ACL die dafür da ist. Wozu also doppelt ? Ist nur unsinniger Overhead. ACLs kannst du doch so oft verwenden wie du sie brauchst.
Ansonsten ist die Konfig richtig !
Member: nullModem
nullModem Feb 10, 2022 at 22:17:52 (UTC)
Goto Top
Hallo aqui,
Doch hast du auch, nur das dein Internet Interface das Gi 0/0/0 ist und meins eben das "vlan 99". Welches Outbound > Internet Interface man nimmt und wie das dann heisst ist doch vollkommen Wumpe ! Relevant ist doch rein nur die > Interface Konfig und die ist, wie du ja selber siehst, zu deiner identisch !

Check!

Wozu also doppelt ?

Weil wenn ich die Config ip nat inside source list NAT_OUT interface gi0/0/1 overload eintippe für das 2te WAN Port diese Fehlermeldung gibt: Cannot change mapping's interface name, or the mapping already exists; remove mapping first to make change.
Was erstmal für mich logisch wäre. Deswegen die doppelte ACL Regeln aber, dann komme ich über den zweiten WAN Port nicht ins Internet. Möchte damit ein, zwei sachen Testen.

Gruß
Member: aqui
aqui Feb 11, 2022 at 10:25:19 (UTC)
Goto Top
OK, wenn der Cisco das so möchte dann hat er natürlich Recht. face-wink
Möglich das das NAT Overload getrennte Mappings haben muss. Ich hatte das hier vorher nicht getestet.
Member: nullModem
nullModem Feb 11, 2022 at 12:27:21 (UTC)
Goto Top
Hallo aqui,

Ok. Wie müsste das aussehen?
Sowie in meinem Beispiel oben? Wenn ja, funktioniert es leider nicht.

Gruß
Member: aqui
aqui Feb 11, 2022 at 14:31:16 (UTC)
Goto Top
Müsste es aber wenn du auf den 0/0/1er Port umsteckst.
Relevant ist immer wo die Default Route hinzeigt (show ip route) ! Denn das ist ja das Interface wo aller Internet Traffic hingeroutet wird und das NAT gemacht wird.
Member: nullModem
nullModem Feb 11, 2022, updated at Feb 12, 2022 at 01:41:47 (UTC)
Goto Top
Hallo aqui,

Müsste es aber wenn du auf den 0/0/1er Port umsteckst.
Leider nicht.
show ip route

Gateway of last resort is 10.10.1.1 to network 0.0.0.0
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, m - OMP
       n - NAT, Ni - NAT inside, No - NAT outside, Nd - NAT DIA
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       H - NHRP, G - NHRP registered, g - NHRP registration summary
       o - ODR, P - periodic downloaded static route, l - LISP
       a - application route
       + - replicated route, % - next hop override, p - overrides from PfR
       & - replicated local route overrides by connected

S*    0.0.0.0/0 [1/0] via 10.10.1.1, GigabitEthernet0/0/1
      10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
C        10.10.1.0/24 is directly connected, GigabitEthernet0/0/1
L        10.10.1.55/32 is directly connected, GigabitEthernet0/0/1
C        192.168.2.0/24 is directly connected, Vlan2
L       192.168.2.254/32 is directly connected, Vlan2

Ich habe keine feste ip route eingetragen. Die Route kommt vom DHCP Server der vor dem Cisco Router ist.
Wenn ich es auf das erste WAN Interface stecke komme ich ins Internet.

Wo ist mein Fehler?

Gruß
Member: aqui
aqui Feb 12, 2022 at 13:24:30 (UTC)
Goto Top
Die Route kommt vom DHCP Server der vor dem Cisco Router ist.
Das ist auch so richtig.
Wo ist mein Fehler?
Ohne deine genaue Konfig zu kennen ist das Raten ins Blaue. Eine Testkonfig auf einem 886er hier funktioniert so ohne Probleme.
Member: nullModem
Solution nullModem Feb 16, 2022 at 17:15:11 (UTC)
Goto Top
Hallo zusammen,

Es ist vollbracht.
Nach der Hilfe von Aqui funktioniert auch der Failover am Cisco Router.

Hier die Config für die die es auch anwenden wollen.

interface Vlan1 
description Local LAN 
ip address 192.168.24.1 255.255.255.0 
ip nat inside 
ip virtual-reassembly in 
! 
interface Vlan98 
description Internet Port Fa3 
ip address dhcp hostname test 
ip nat outside 
ip virtual-reassembly in 
! 
interface Vlan99 
description Internet Port Fa2 
ip address dhcp 
ip nat outside 
ip virtual-reassembly in 
! 
! 
ip nat inside source route-map INT_1 interface Vlan99 overload 
ip nat inside source route-map INT_2 interface Vlan98 overload 
! 
route-map INT_1 permit 10 
match ip address 101 
match interface Vlan99 
! 
route-map INT_2 permit 10 
match ip address 102 
match interface Vlan98 
! 
access-list 101 permit ip 192.168.24.0 0.0.0.255 any 
access-list 102 permit ip 192.168.24.0 0.0.0.255 any 
!

Vielen Dank nochmal für die Hilfe und Geduld. face-smile

Gruß
Member: aqui
aqui Feb 17, 2022 at 12:14:10 (UTC)
Goto Top
Immer gerne ! 🙂