Cisco 836 met XS4ALL

Geplaatst
Reacties Geen

In dit document beschrijf ik hoe je een Cisco 836 operationeel kan krijgen voor je ADSL verbinding met XS4ALL.
De Cisco 836 is een ADSL over ISDN unit en in principe gaat alles in dit document ook op voor de Cisco 837 (ADSL over een analoge lijn).
Bij mijn keuze voor deze router heb ik gezocht naar de volgende opties:

  • IPv6,
  • SNMP,
  • SYSLOG,
  • ACL’s
    en een fatsoenlijke interface om de boel te configureren.

Voorbereiding

  1. Zorg dat je een terminal (emulatie) hebt die op 9600 8N1 staat ingesteld. Je begint namelijk met een stuk configuratie via de console poort.

  2. Je begint NIET met de default installatie zoals Cisco je aan de hand meeneemt. Of je gaat die weer aanpassen met de informatie uit dit document.

  3. Je ADSL link werkt al. Liefst getest met een ander device.

Zet een aantal basis zaken op
  1. We geven hem de hostnaam anfalas en koppelen hem in het domain vanderkooij.org. Login in de unit en ga naar de configuratie mode. Dit ga ik niet verder uitleggen. Lees maar in de Cisco documentatie hoe je dat doet.
    hostname <i>anfalas</i>
    ip domain name <i>vanderkooij.org</i>
    ip name-server <i>192.168.1.2</i>
    
  2. Zet authenticatie op je unit met username en password en een enable secret.
    aaa new-model
    aaa authentication login default local
    aaa session-id common
    username <i>mijn-account</i> secret <i>mijn-secret</i>
    enable secret <i>enable-secret</i>
    line con 0
     no modem enable
     transport output none
    line aux 0
    line vty 0 4
     transport output none
    

    Laat geen sessies met telnet of ssh toe vanaf de Cisco zelf!

  3. Enable SSH (Alleen versie 2)
    crypto key generate rsa
    ip ssh timeout 60
    ip ssh version 2
    
  4. Gooi wat services uit
    no ip finger
    no ip http server
    no ip http secure-server
    no cdp run
    no ftp-server write-enable
    no service tcp-small-servers
    no service udp-small-servers
    

Configureer je LAN
  1. Ethernet
    interface Ethernet0
     no shutdown
     ip address <i>192.168.1.1</i> <i>255.255.255.0</i>
     ip nat inside
     no cdp enable
    
  2. DHCP server (ONGETEST!)
    ip dhcp pool ipv4-dhcp
       network <i>192.168.1.0</i> <i>255.255.255.0</i>
       subnet prefix-length <i>24</i>
       default-router <i>192.168.1.1</i>
       netbios-node-type h-node
       domain-name vanderkooij.org
       dns-server <i>192.168.1.2</i>
    ip bootp server
    interface Ethernet0
     ip dhcp server ipv4-dhcp
    

Configureer internet
  1. Zet ATM op
    template adsl
    interface ATM0
     no shutdown
     no ip address
     load-interval 30
     no atm ilmi-keepalive
     dsl operating-mode auto
     pvc 8/48
      encapsulation aal5mux ppp dialer
      dialer pool-member 1
    
  2. Zet je circuit op
    interface Dialer0
     no shutdown
     ip address negotiated
     no ip unreachables
     no cdp enable
     ip nat outside
     ip virtual-reassembly
     encapsulation ppp
     dialer pool 1
     dialer idle-timeout 0
     dialer-group 1
     ppp pap sent-username <i>XS4ALL-account</i>@xs4all-basic-adsl password <i>XS4ALL-password</i>
    
  3. Zet je dialer list aan
    dialer-list 1 protocol ip permit
    
  4. Zet routering aan
    ip subnet-zero
    ip classless
    ip cef
    
  5. Default gateway
    ip route 0.0.0.0 0.0.0.0 Dialer0
    
  6. NAT
    ip nat inside source list 100 interface Dialer0 overload
    access-list 100 permit ip <i>192.168.1.0</i> <i>0.0.0.255</i> any
    

Services
Ik draai wat eigen servers en moet dus PAT regelen hiervoor.
  1. PAT
    ip nat inside source static tcp 192.168.1.2 25 interface Dialer0 25
    ip nat inside source static udp 192.168.1.2 53 interface Dialer0 53
    ip nat inside source static tcp 192.168.1.2 53 interface Dialer0 53
    ip nat inside source static tcp 192.168.1.2 80 interface Dialer0 80
    ip nat inside source static tcp 192.168.1.2 443 interface Dialer0 44
    
  2. Nog meer PAT (Dialer0:2022 -> server:22)
    ip nat inside source static tcp 192.168.1.2 22 interface Dialer0 2022
    

Dicht spijkeren
Internet is een ongezonde plek zonder afscherming. Dus daar gaan we maar wat aan doen.
  1. Access rule set
    ip access-list extended ipv4-inet-in
     permit icmp any any echo-reply
     permit icmp any any packet-too-big
     permit icmp any any time-exceeded
     permit icmp any any unreachable
     permit tcp any any eq 22 log
     permit tcp any any eq smtp
     permit udp any any eq domain
     permit tcp any any eq domain
     permit tcp any any eq www
     permit tcp any any eq 443
     permit 41 any any
     deny   ip any any log
    

    Die access-group regel voor IP protocol 41 is voor de IPv6 tunnel die we ook nog gaan bouwen.

  2. En koppel het aan de internet interface
    interface Dialer0
     ip access-group ipv4-inet-in in
    
  3. IP inspection aan. (Je betaalt niet voor niets voor de firewall feature set.)
    ip inspect udp idle-time 3600
    ip inspect dns-timeout 60
    ip inspect tcp synwait-time 60
    ip inspect name ipv4-FireWall tcp
    ip inspect name ipv4-FireWall udp
    no ip inspect name ipv4-FireWall http
    ip inspect name ipv4-FireWall ftp
    no ip inspect name ipv4-FireWall esmtp
    ip inspect name ipv4-FireWall h323
    ip inspect name ipv4-FireWall skinny
    ip inspect name ipv4-FireWall icmp
    ip inspect name ipv4-FireWall fragment maximum 256 timeout 1
    ip inspect name ipv4-FireWall realaudio
    ip ips po max-events 100
    interface Ethernet0
     ip inspect ipv4-FireWall in
     ip inspect ipv4-FireWall out
    interface Dialer0
     ip inspect ipv4-FireWall in
     ip inspect ipv4-FireWall out
    

Let wel op. De meningen over de qualiteit van de IP inspection engine lopen uiteen.
Maar opvallend veel mensen met ervaring hebben geen goed woord over wat Cisco hier voor elkaar prutst.
Ik heb dan ook de ergste missers uitgezet want HTTP en SMTP content daar snapt zo’n Cisco router blijkbaar niets van.

Logging en tijd
Meten is weten. En dus willen we de logging vastleggen en natuurlijk met een nauwkeurige tijd.

  1. Zet je tijdzone
    clock timezone CET 1
    clock summer-time CEST recurring last Sun Mar 2:00 last Sun Oct 3:00
    clock save interval 8
    
  2. Zet NTP aan
    ntp logging
    ntp server 194.109.22.18
    ntp server 193.67.79.202
    ntp server 194.109.20.18
    
  3. Zet logging aan
    logging 192.168.1.2
    service timestamps debug datetime msec
    service timestamps log datetime msec localtime show-timezone
    
  4. Niet te veel van het goede op de console
    logging console warnings
    logging rate-limit console 5
    
  5. Log diverse andere zaken
    security authentication failure rate 2 log
    logging count
    logging userinfo
    login on-failure log
    login on-success log
    
  6. SNMP traps
    snmp-server host 192.168.1.2 public
    snmp-server trap link ietf
    snmp-server contact Hugo van der Kooij &lt;snmptraps@vanderkooij.org&gt;
    snmp-server enable traps snmp authentication linkdown linkup coldstart warmstart
    snmp-server enable traps tty
    snmp-server enable traps cpu threshold
    
  7. Waarschuwing aan gebruikers
    banner motd #
    *************************************************************************** NOTICE TO USERS

    This computer system is the private property of the owner, whether
    individual, corporate or government. It is for authorized use only.
    Users (authorized or unauthorized) have no explicit or implicit
    expectation of privacy.

    Any or all uses of this system and all files on this system may be
    intercepted, monitored, recorded, copied, audited, inspected, and
    disclosed to your employer, to authorized site, government, and law
    enforcement personnel, as well as authorized officials of government
    agencies, both domestic and foreign.

    By using this system, the user consents to such interception, monitoring,
    recording, copying, auditing, inspection, and disclosure at the
    discretion of such personnel or officials. Unauthorized or improper use
    of this system may result in civil and criminal penalties and
    administrative or disciplinary action, as appropriate. By continuing to
    use this system you indicate your awareness of and consent to these terms
    and conditions of use. LOG OFF IMMEDIATELY if you do not agree to the
    conditions stated in this warning.

    ****************************************************************************
    #

  8. Blockade om (SSH) login gefreubel te stoppen.
    login block-for 300 attempts 1 within 300
    login delay 1
    login quiet-mode access-class ssh-clients
    ip access-list extended ssh-clients
     remark -- Only local net remains after login failure ---------
     permit tcp 192.168.0.0 0.0.255.255 any eq 22 log
     remark -- Drop and log all other SSH attempts ----------------
     deny   tcp any any eq 22 log
     remark -- DONE -----------------------------------------------
    

IP versie 6
Zorg eerst dat je tunnel geconfigureerd is in het service center bij XS4ALL! Gebruik je een SixXS NET tunnel dan dien je eerst je tunnel aan te vragen.

  1. Ethernet
    interface Ethernet0
     ipv6 enable
     ipv6 address 2001:888:10FA::EFFE/64
     ipv6 cef
     ipv6 nat
     ipv6 nd ra-interval 30
     ipv6 nd prefix 2001:888:10FA::/64 86400 86400
     ipv6 nd prefix FE80::/16 no-advertise
     ipv6 nd other-config-flag
     ipv6 dhcp server ipv6-dhcp rapid-commit preference 1
     ipv6 inspect ipv6-FireWall in
     ipv6 inspect ipv6-FireWall out
    

    Alleen een subnet mask /64 zal een werkende autonegotiate opleveren voor clients van IPv6.
    Het staat in de RFC’s maar je leest er zo maar overheen.

  2. Tunnel
    interface Tunnel0
     no ip address
     no ip unreachables
     ipv6 enable
     ipv6 address 2001:888:10:FA::2/64
     ipv6 cef
     ipv6 nat
     ipv6 traffic-filter ipv6-inet-in in
     ipv6 inspect ipv6-FireWall in
     ipv6 inspect ipv6-FireWall out
     tunnel source Dialer0
     tunnel destination 194.109.5.241
     tunnel mode ipv6ip
    
  3. Dialer
    Interface Dialer0
     ipv6 nat
    
  4. ACL
    ipv6 access-list ipv6-inet-in
     permit icmp host 2001:888:10:FA::1 host 2001:888:10:FA::2
     permit tcp any host 2001:888:10FA::1 eq 22 log
     permit tcp any host 2001:888:10FA::1 eq smtp log
     permit udp any host 2001:888:10FA::1 eq domain log
     permit tcp any host 2001:888:10FA::1 eq domain log
     permit tcp any host 2001:888:10FA::1 eq www log
     permit tcp any host 2001:888:10FA::1 eq 443 log
     permit icmp any 2001:888:10FA::/48 echo-reply log
     permit icmp any 2001:888:10FA::/48 unreachable log
     permit icmp any 2001:888:10FA::/48 time-exceeded log
     deny ipv6 any any log
    
  5. INSPECT
    ipv6 inspect udp idle-time 3600
    ipv6 inspect tcp synwait-time 60
    ipv6 inspect name ipv6-FireWall tcp
    ipv6 inspect name ipv6-FireWall udp
    ipv6 inspect name ipv6-FireWall icmp
    ipv6 inspect name ipv6-FireWall ftp timeout 3600
    
  6. DHCP
    ipv6 dhcp pool ipv6-dhcp
     prefix-delegation 2001:888:10FA::/64 00030001000D29EED13A
     dns-server 2001:888:10FA::1
     domain-name hugo.vanderkooij.org
    

    IP adressen uitdelen is niet meer aan DHCP.
    Dus alleen wat losse details hoeven nog maar naar de clients.

  7. Global
    ipv6 unicast-routing
    ipv6 cef
    ipv6 route 2000::/3 2001:888:10:FA::1
    ipv6 nat prefix 2001:888:10FA:FFFF:FFFF:FFFF::/96
    ipv6 nat v6v4 source list ipv6-local interface Dialer0 overload
    
  8. IPv6 NAT ACL
    ipv6 access-list ipv6-local
     permit ipv6 2001:888:10FA::/64 any
     permit ipv6 FE80::/10 any
     deny any any
    

Bronnen:

In een notendop:

  1. Definieer ethernet (je lan)
  2. Definieer ATM + dialer (je internet)
  3. Zet ACL’s en dergelijk aan
  4. IPv6 tunnel gaat via je dialer interface. Maar de dialer interface ziet alleen IP v4 data.

Deze configuratie is gebaseerd op mijn Cisco 836 met firewall feature set.
Op dit moment draai ik ‘Cisco IOS Software, C836 Software (C836-K9O3S8Y6-M), Version 12.3(11)T7, RELEASE SOFTWARE (fc3)‘ omdat het de laatste versie is die nog in 48MB RAM draait.

DISCLAIMER

  • Vragen om de Cisco software zal ik stelselmatig negeren.
    Dat zoek je maar uit met je leverancier van je Cisco router!
  • Ga er niet van uit dat je hier een perfect beveilgde cisco configuratie aantreft. Je zult deze moeten aanpassen aan je eigen situatie maar het kan je wel ideëen voor wat mogelijkheden geven.

Advertisement:
sell diamonds

Medewerker
Categorie ,

Reacties

Op dit artikel kan niet gereageerd worden.

← Ouder Nieuwer →