RouterOS configuratie (alleen internet)

Doel

Dit is de basis RouterOS configuratie die alleen internet afhandelt. Met deze configuratie sluit je de glasvezel of de switch aan op poort 1 en je hebt LAN verbinding op poort 2,3,4,5 en wireless lan. De router verwacht dat het VLAN6 verkeer op poort 1 TAGGED wordt afgeleverd. Dit doet KPN standaard. Het LAN verkeer komt untagged op de LAN-poorten direkt bruikbaar voor pc's, laptops, etc.
Dit is een hele simpele maar doeltreffende configuratie die als basis zal dienen voor verdere uitbreiding.

Schematisch overzicht

Configuratie

 Let op dat vanaf hier de beschreven configuratie er van uit gaat dat het systeem GEEN huidige configuratie heeft. Dus ook niet de 'default configuration' die bij 1e installatie wordt aangeboden. Verwijder deze indien nodig. Je kunt het beste met WinBOX verbinden op MAC-adres van de router op poort 2.

 

 

# Bruikbaar voor een KPN of Tweak fiber verbinding
# Alleen internet configuratie.
#
# Export voor RouterOS versie 6.5 en hoger
#
# Laatste wijziging: 26 augustus 2014
#
/interface ethernet
#
# Poort 1 (ether1) = FIBER connectie
# Poortnummers hebben intern exact 1 nummer lager intern dan de gedrukte nummering
# op de router zelf.
#
set 0 arp=proxy-arp auto-negotiation=yes  \
    disabled=no full-duplex=yes l2mtu=1598  \
    mtu=1500 name=ether1-gateway speed=1Gbps
#
# Poort 2 (ether2) = LAN
#
set 1 arp=enabled auto-negotiation=yes \
    disabled=no full-duplex=yes l2mtu=1598 \
    mtu=1500 name=ether2 speed=1Gbps
#
# VLAN 6 = internet, deze koppelen we aan de fysieke interface ether1-gateway.
#
/interface vlan
add arp=enabled disabled=no interface=ether1-gateway l2mtu=1594 mtu=1500 \
    name=vlan1.6 use-service-tag=no vlan-id=6
#
# PPPoE profiel, heel standaard.
#
/ppp profile
set 0 change-tcp-mss=yes name=default only-one=default use-compression=\
    default use-encryption=default use-mpls=default use-vj-compression=\
    default
#
# PPPOE CLIENT, deze koppelen we aan de VLAN6 interface die eerder gemaakt is.
# (vul eigen MAC in ipv xx-xx...) Let op: hier worden streepjes gebruikt ipv dubbele punten
# Het MAC adres verwijst hier naar het adres van de Experiabox die vervangen wordt.
# De exacte inloggegevens zijn ook zichtbaar in de webinterface van de experiabox.
#   
/interface pppoe-client
add add-default-route=yes allow=pap,mschap2 \
    dial-on-demand=no disabled=no interface=vlan1.6 keepalive-timeout=20 max-mru=1480 max-mtu=1480 \
    mrru=disabled name=pppoe password=kpn profile=default \
    use-peer-dns=no user=XX-XX-XX...@direct-adsl

#
# BGP, alleen maar even om zeker te zijn dat het disabled is.
#
/routing bgp instance
set default disabled=yes

#
# Bridges, ofwel verzameling switchpoorten die bij elkaar horen.
#
# De bridge-local is de bridge voor de LAN kant van het netwerk. Let op: poort 1 zit (daarom) niet in de LAN bridgepoort!

/interface bridge
add name=bridge-local arp=proxy-arp

/interface bridge port
add bridge=bridge-local interface=ether2
add bridge=bridge-local interface=ether3
add bridge=bridge-local interface=ether4
add bridge=bridge-local interface=ether5
add bridge=bridge-local interface=wlan1

/interface bridge settings
set use-ip-firewall=no use-ip-firewall-for-pppoe=no use-ip-firewall-for-vlan=\
    no
/interface ethernet switch port
set 0 vlan-header=leave-as-is vlan-mode=disabled
set 1 vlan-header=leave-as-is vlan-mode=disabled
set 2 vlan-header=leave-as-is vlan-mode=disabled
set 3 vlan-header=leave-as-is vlan-mode=disabled
set 4 vlan-header=leave-as-is vlan-mode=disabled
set 5 vlan-header=leave-as-is vlan-mode=disabled
set 6 vlan-header=leave-as-is vlan-mode=disabled
set 7 vlan-header=leave-as-is vlan-mode=disabled
set 8 vlan-header=leave-as-is vlan-mode=disabled
set 9 vlan-header=leave-as-is vlan-mode=disabled
set 10 vlan-header=leave-as-is vlan-mode=disabled
set 11 vlan-header=leave-as-is vlan-mode=disabled
set 12 vlan-header=leave-as-is vlan-mode=disabled
#
# Lokaal IP adres van de router. Pas dit aan naar het IP adres in de reeks die je gebruikt (of laat het zo)
#
/ip address
add address=192.168.10.250/24 disabled=no interface=bridge-local network=192.168.10.0
#
# De DNS van Google, lekker betrouwbaar. Stel deze dmv remote requests als caching server open voor het LAN.
#
/ip dns
set allow-remote-requests=yes cache-max-ttl=1d cache-size=2048KiB \
    max-udp-packet-size=4096 servers=8.8.8.8,8.8.4.4
#
# De 3 standaard rules voor de firewall. Dit zijn geen veilige rules, alles staat open, maar
# bedoeld om de basis functionaliteiten te laten werken.
#
/ip firewall filter
add action=accept chain=input disabled=no in-interface=pppoe protocol=icmp
add action=accept chain=input connection-state=related disabled=no
add action=accept chain=input connection-state=established disabled=no
#
# BELANGRIJK: nu volgen enkele drastische voorbeeld firewall rules om de router vanaf internet te beschermen.
#
# Bedenk: input rules = verkeer naar de router zelf.
# Denk hierbij aan de webinterface, SSH toegang, een DNS server, VPN, etc.
#
# Onderstaande regels zorgen dat bijvoorbeeld de webinterface en de ssh poort niet van buitenaf te bereiken zijn.
# Ook sluit je een eventuele DNS server af voor de buitenwereld.
# Neem je de volgende twee regels niet mee in je eigen configuratie dan krijg je vanzelf bericht van KPN
# dat je verbinding is geblokkeeerd vanwege een "open DNS" of soortgelijke reden. Dan heb je geen internet meer.
# Voorkom dit dus vooral en neem deze basis firewall regels mee in je configuratie.
#
add action=reject chain=input in-interface=pppoe protocol=tcp reject-with=icmp-port-unreachable
add action=reject chain=input in-interface=pppoe protocol=udp reject-with=icmp-port-unreachable
#
# De NAT regel om vanaf LAN het internet te kunnen gebruiken, vervang evt het src adres door je eigen LAN IP reeks.
#
/ip firewall nat
add action=masquerade chain=srcnat disabled=no out-interface=pppoe \
    src-address=192.168.0.0/16 to-addresses=0.0.0.0
#
# Geen rotzooi naar KPN sturen, dus we disablen discovery op de poorten naar KPN
#
/ip neighbor discovery
set sfp1 discover=no
set ether1-gateway discover=no
set ether2 discover=yes
set ether3 discover=yes
set ether4 discover=yes
set ether5 discover=yes
set wlan1 discover=no
set bridge-local discover=yes
set pppoe discover=no
set vlan1.6 discover=no

## Een basis DHCP server voor het LAN
#
/ip pool
add name=thuisnetwerk ranges=192.168.10.40-192.168.10.99
/ip dhcp-server
add address-pool=thuisnetwerk authoritative=yes disabled=no interface=bridge-local \
    lease-time=1h30m name=dhcp-thuis
/ip dhcp-server config
set store-leases-disk=15m
/ip dhcp-server network
add address=192.168.10.0/24 dns-server=192.168.10.250 domain=thuis.local gateway=\
    192.168.10.250
#
# Algemene andere dingetjes
#
/ip traffic-flow
set active-flow-timeout=30m cache-entries=4k enabled=no \
    inactive-flow-timeout=15s interfaces=all
/ip upnp
set allow-disable-external-interface=no enabled=yes show-dummy-rule=no
/ip upnp interfaces
add disabled=no interface=bridge-local type=internal
add disabled=no interface=pppoe type=external
/lcd
set backlight-timeout=5m enabled=yes
/system clock
set time-zone-name=Europe/Amsterdam

Geavanceerde extra's - Portforwarding

De technische naam voor een portforwarding is Destination-NAT. Deze kun je in RouterOS als volgt toevoegen via de commandline. Uiteraard kan dit ook via de grafische interface.
Het is niet nodig voor portforwarding nog losse firewall regels toe te voegen.

Doel: doorzetten van extern TCP poort 80 naar intern IP adres 192.168.10.1

/ip firewall nat
add action=dst-nat chain=dstnat dst-port=80 protocol=tcp to-addresses=192.168.10.1

Doel: doorzetten van TCP poort 80 naar 192.168.10.1 maar dit alleen toestaan vanaf een publiek IP adres in de address list VERTROUWD. In deze list zetten we ook meteen 2 IP adressen.

/ip firewall nat
add action=dst-nat chain=dstnat dst-port=80 protocol=tcp src-address-list=VERTROUWD to-addresses=192.168.10.1
/ip firewall address-list
add address=1.2.3.4 list=VERTROUWD
add address=2.3.4.5 list=VERTROUWD

(TIP: het bewerken van de address list gaat veel eenvoudiger vanuit de grafische interface)

Doel: doorzetten van TCP poort 81 naar 192.168.10.1 poort 5858 (het externe poort nummer is dus anders dan het interne nummer)

/ip firewall nat
add action=dst-nat chain=dstnat dst-port=81 protocol=tcp to-addresses=192.168.10.1 to-ports=5858