# Generado por:
# RouterOSv5.x
:log info "Unsolclic for 16621-MallaSerratST3 going to be executed."
#
# Configuration for RouterOSv5.x
# Dispositivo: 16621-MallaSerratST3
#
# Métodos para subir/ejecutar este script:
# 1.-Como un script. Sube este texto como un script bien con:
#     a.Winbox (con Linux es necesario wine)
#     b.Terminal (telnet, ssh...)
#    Entonces ejecuta el script con:
#      > /system script run nombre_del_script
# 2.-Fichero importado:
#     Guarda este texto en un fichero, luego súbelo al router
#     utilizando ftp con un nombre como "script_name.rsc".
#     (ten en cuenta que la extensión ".rsc" es necesaria)
#     Ejecuta el fichero importado utilizando el comando:
#      > /import nombre_del_script
# 3.-Telnet copiar&pegar:
#     Abre una sesión de terminal, y copia y pega el texto
#     directamente en la ventana de la terminal.
#
# Notas:
# -routing-test package is required if you use RouterOSv2.9 , be sure you have it enabled at system packages
# -las wlans deberían activarse de forma manual. Asegúrate de que están establecidas en la antena correcta (a/b)
#   de acuerdo con cómo has conectado el cable a la miniPCI. Mantén la
#   potencia al mínimo posible y comprueba el canal.
# -El script no reinicia el router. Quizá tengas que hacerlo de forma manual
# -Debes tener acceso de escritura al router
# -Se recomienda el método de acceso por MAC (winbox, telnet a la MAC...)
#   (el script reconfigura algunas direcciones IP, así que se puede perder la comunicación)
# -No se realizan cambios en las contraseñas de usuario del dispositivo
# -Se creará una cuenta de invitado de Sólo Lectura para permitir el acceso de invitados
#   al router sin riesgo de daño pero con capacidad para ver la configuración.
# -Asegúrate de que todos los paquetes están activados.
# -No ejecutes el script desde telnet si estás conectado mediante una conexión IP en
#   la interfaz: Esta interfaz será desctruida durante la ejecución del script.
#
/ system identity set name=MallaSerratST3
#
# DNS (client & server cache) zone: 2454
/ip dns set servers=10.138.96.3,10.138.0.2 allow-remote-requests=yes
:delay 1
#
# NTP (client & server cache) zone: 2454
/system ntp client set enabled=yes mode=unicast primary-ntp=10.138.0.2
:delay 1
#
# Servidor de ancho de banda
/ tool bandwidth-server set enabled=yes authenticate=no allocate-udp-ports-from=2000
#
# SNMP
/snmp set contact="guifi@guifi.net" enabled=yes location="MallaSerrat"
#
# Guest user
/user
:foreach i in [find group=read] do={/user remove $i;}
add name="guest" group=read address=0.0.0.0/0 comment="" disabled=no
#
# Gráficas
/tool graphing interface add
# Eliminar el puente (bridge) actual wLan/Lan si existe
:foreach i in [/interface bridge find name=wLan/Lan] \
do={:foreach i in [/interface bridge port find bridge=wLan/Lan] \
do={/interface bridge port remove $i; \
:foreach i in [/ip address find interface=wLan/Lan] \
do={/ip address remove $i;};};
/interface bridge remove $i;}
# Crear puente (bridge) principal entre wlan1 y ether1
/ interface bridge
add name="wLan/Lan"
/ interface bridge port
add interface=ether1 bridge=wLan/Lan
add interface=wlan1 bridge=wLan/Lan
:delay 1
#
# Radio#: 0 MallaSerratTarAnt
/interface wireless set wlan1 name="wlan1" \
radio-name="MallaSerratTarAnt" mode=ap-bridge ssid="guifi.net-MallaSerratTarAnt" \
band="5ghz-a" channel-width=20mhz \
frequency-mode=regulatory-domain country=spain antenna-gain=21 \
frequency=5600 \
dfs-mode=none \
antenna-mode=ant-a wds-mode=static wds-default-bridge=none wds-default-cost=100 \
wds-cost-range=50-150 wds-ignore-ssid=yes hide-ssid=no
:delay 1
# Type: wLan/Lan
/ip address
:foreach i in [find address="10.138.173.21/30"] do={remove $i}
/ ip address add address=10.138.173.21/30 network=10.138.173.20 broadcast=10.138.173.23 interface=wLan/Lan disabled=no
/ routing bgp network
:foreach i in [/routing bgp network find network=10.138.173.20/30] do={/routing bgp network remove $i;}
add network=10.138.173.20/30 disabled=no
/ routing ospf interface
:foreach i in [/routing ospf interface find interface=wLan/Lan] do={/routing ospf interface remove $i;}
add interface=wLan/Lan
/ routing ospf network
:foreach i in [/routing ospf network find network=10.138.173.20/30] do={/routing ospf network remove $i;}
add network=10.138.173.20/30 area=backbone disabled=no
:delay 1
#
# DHCP
:foreach i in [/ip pool find name=dhcp-wLan/Lan] do={/ip pool remove $i;}
/ip pool add name=dhcp-wLan/Lan ranges=10.138.173.22-10.138.173.22
:foreach i in [/ip dhcp-server find name=dhcp-wLan/Lan] do={/ip dhcp-server remove $i;}
/ip dhcp-server add name=dhcp-wLan/Lan interface=wLan/Lan address-pool=dhcp-wLan/Lan disabled=yes
:foreach i in [/ip dhcp-server network find address="10.138.173.20/30"] do={/ip dhcp-server network remove $i;}
/ip dhcp-server network add address=10.138.173.20/30 gateway=10.138.173.21 domain=guifi.net comment=dhcp-wLan/Lan
/ip dhcp-server lease
:foreach i in [find comment=""] do={remove $i;}
:delay 1
#
:delay 1
# Type: wds/p2p
# Eliminar todas las interfaces wds existentes
:foreach i in [/interface wireless wds find master-interface=wlan1] \
do={:foreach n in [/interface wireless wds get $i name] \
do={:foreach inum in [/ip address find interface=$n] \
do={/ip address remove $inum;};}; \
/interface wireless wds remove $i;}
/ interface wireless wds
add name="wds_TarAntST2" master-interface=wlan1 wds-address=00:0C:42:61:82:4F disabled=no
/ ip address add address=172.25.127.46/29 network=172.25.127.40 broadcast=172.25.127.47 interface=wds_TarAntST2 disabled=no comment="wds_TarAntST2"
/ routing ospf interface
:foreach i in [/routing ospf interface find interface=wds_TarAntST2] do={/routing ospf interface remove $i;}
add interface=wds_TarAntST2
/ routing ospf network
:foreach i in [/routing ospf network find network=172.25.127.40/29] do={/routing ospf network remove $i;}
add network=172.25.127.40/29 area=backbone disabled=no
/ routing bgp peer
:foreach i in [find name=TarAntST2] do={/routing bgp peer remove $i;}
add name="TarAntST2" instance=default remote-address=172.25.127.45 remote-as=22605 \
multihop=no route-reflect=no ttl=default in-filter=ebgp-in out-filter=ebgp-out disabled=yes
#
:delay 1
#
# Radio#: 1 MallaSerratTarMontRodon
/interface wireless set wlan2 name="wlan2" \
radio-name="MallaSerratTarMontRodon" mode=ap-bridge ssid="guifi.net-MallaSerratTarMontRodon" \
band="5ghz-a" channel-width=20mhz \
frequency-mode=regulatory-domain country=spain antenna-gain=14 \
frequency=5200 \
dfs-mode=none \
antenna-mode=ant-a wds-mode=static wds-default-bridge=none wds-default-cost=100 \
wds-cost-range=50-150 wds-ignore-ssid=yes hide-ssid=no
:delay 1
# Type: wds/p2p
# Eliminar todas las interfaces wds existentes
:foreach i in [/interface wireless wds find master-interface=wlan2] \
do={:foreach n in [/interface wireless wds get $i name] \
do={:foreach inum in [/ip address find interface=$n] \
do={/ip address remove $inum;};}; \
/interface wireless wds remove $i;}
/ interface wireless wds
add name="wds_TarMontRodonST" master-interface=wlan2 wds-address=00:0C:42:60:A7:98 disabled=no
/ ip address add address=172.25.2.165/30 network=172.25.2.164 broadcast=172.25.2.167 interface=wds_TarMontRodonST disabled=no comment="wds_TarMontRodonST"
/ routing ospf interface
:foreach i in [/routing ospf interface find interface=wds_TarMontRodonST] do={/routing ospf interface remove $i;}
add interface=wds_TarMontRodonST
/ routing ospf network
:foreach i in [/routing ospf network find network=172.25.2.164/30] do={/routing ospf network remove $i;}
add network=172.25.2.164/30 area=backbone disabled=no
/ routing bgp peer
:foreach i in [find name=TarMontRodonST] do={/routing bgp peer remove $i;}
add name="TarMontRodonST" instance=default remote-address=172.25.2.166 remote-as=16622 \
multihop=no route-reflect=no ttl=default in-filter=ebgp-in out-filter=ebgp-out disabled=yes
#
:delay 1
#
# Radio#: 2 MallaSerratAP5Sud
/interface wireless set wlan3 name="wlan3" \
radio-name="MallaSerratAP5Sud" mode=ap-bridge ssid="guifi.net-MallaSerratAP5Sud" \
band="5ghz-a" channel-width=20mhz \
frequency-mode=regulatory-domain country=spain antenna-gain=14 \
frequency=5180 \
dfs-mode=none \
antenna-mode=ant-a wds-mode=static wds-default-bridge=none wds-default-cost=100 \
wds-cost-range=50-150 wds-ignore-ssid=yes hide-ssid=no
:delay 1
# Type: wLan
/ip address
:foreach i in [find address="10.138.43.33/27"] do={remove $i}
/ ip address add address=10.138.43.33/27 network=10.138.43.32 broadcast=10.138.43.63 interface=wlan3 disabled=no
/ routing bgp network
:foreach i in [/routing bgp network find network=10.138.43.32/27] do={/routing bgp network remove $i;}
add network=10.138.43.32/27 disabled=no
/ routing ospf interface
:foreach i in [/routing ospf interface find interface=wlan3] do={/routing ospf interface remove $i;}
add interface=wlan3
/ routing ospf network
:foreach i in [/routing ospf network find network=10.138.43.32/27] do={/routing ospf network remove $i;}
add network=10.138.43.32/27 area=backbone disabled=no
:delay 1
#
# DHCP
:foreach i in [/ip pool find name=dhcp-wlan3] do={/ip pool remove $i;}
/ip pool add name=dhcp-wlan3 ranges=10.138.43.39-10.138.43.62
:foreach i in [/ip dhcp-server find name=dhcp-wlan3] do={/ip dhcp-server remove $i;}
/ip dhcp-server add name=dhcp-wlan3 interface=wlan3 address-pool=dhcp-wlan3 disabled=no
:foreach i in [/ip dhcp-server network find address="10.138.43.32/27"] do={/ip dhcp-server network remove $i;}
/ip dhcp-server network add address=10.138.43.32/27 gateway=10.138.43.33 domain=guifi.net comment=dhcp-wlan3
/ip dhcp-server lease
:foreach i in [find comment=""] do={remove $i;}
:delay 1
add address=10.138.43.34 mac-address=00:0C:42:D3:F6:1A client-id=TonaRCasadevallRadio1 server=dhcp-wlan3
add address=10.138.43.35 mac-address=00:0C:42:E0:18:C5 client-id=TonaXCasadevallRd1 server=dhcp-wlan3
#
:delay 1
# Type: wds/p2p
# Eliminar todas las interfaces wds existentes
:foreach i in [/interface wireless wds find master-interface=wlan3] \
do={:foreach n in [/interface wireless wds get $i name] \
do={:foreach inum in [/ip address find interface=$n] \
do={/ip address remove $inum;};}; \
/interface wireless wds remove $i;}
#
:delay 1
#
# Routed device
#
# Otra conexiones cableadas
/ routing ospf interface
:foreach i in [/routing ospf interface find interface=ether2] do={/routing ospf interface remove $i;}
add interface=ether2
/ routing ospf network
:foreach i in [/routing ospf network find network=172.25.0.40/30] do={/routing ospf network remove $i;}
add network=172.25.0.40/30 area=backbone disabled=yes
/ routing bgp peer
:foreach i in [find name=MallaSerratST2] do={/routing bgp peer remove $i;}
add name="MallaSerratST2" instance=default remote-address=172.25.0.42 remote-as=1543 \
multihop=no route-reflect=no ttl=default in-filter=ebgp-in out-filter=ebgp-out disabled=no
:foreach i in [/ip address find address="172.25.0.41/30"] do={/ip address remove $i;}
:delay 1
/ ip address add address=172.25.0.41/30 network=172.25.0.40 broadcast=172.25.0.43 interface=ether2 disabled=no comment="MallaSerratST2"
#
# NAT de direcciones internas
:foreach i in [/ip firewall nat find src-address="172.16.0.0/12"] do={/ip firewall nat remove $i;}
:foreach i in [/ip firewall nat find src-address="192.168.0.0/16"] do={/ip firewall nat remove $i;}
/ip firewall nat
add chain=srcnat src-address="192.168.0.0/16" dst-address=!192.168.0.0/16 action=src-nat to-addresses=10.138.173.21 comment="" disabled=no
add chain=srcnat src-address="172.16.0.0/12" dst-address=!172.16.0.0/12 protocol=!ospf action=src-nat to-addresses=10.138.173.21 comment="" disabled=no
#
# Enrutamiento BMP
# BGP & OSPF Filters
:foreach i in [/routing filter find chain=ospf-in] do={/routing filter remove $i;}
:foreach i in [/routing filter find chain=ospf-out] do={/routing filter remove $i;}
:foreach i in [/routing filter find chain=ebgp-in] do={/routing filter remove $i;}
:foreach i in [/routing filter find chain=ebgp-out] do={/routing filter remove $i;}
/ routing filter
add action=discard chain=ebgp-in comment="1. Discard insert non 10.x routes from BGP peer" disabled=no invert-match=no prefix=!10.0.0.0/8 prefix-length=!8-32
add action=discard chain=ebgp-out comment="2. Discard send non 10.x routes to BGP peer" disabled=no invert-match=no prefix=!10.0.0.0/8 prefix-length=!8-32
add action=accept chain=ospf-in comment="3. Accept insert 10.x routes from OSPF neighbor" disabled=no invert-match=no prefix=10.0.0.0/8 prefix-length=8-32
add action=accept chain=ospf-in comment="4. Accept insert 172.x routes from OSPF neighbor" disabled=no invert-match=no prefix=172.16.0.0/12 prefix-length=8-32
add action=discard chain=ospf-in comment="5. Discard insert non 10.x and 172.x from OSPF neighbor" disabled=no invert-match=no
add action=accept chain=ospf-out comment="6. Allow send 10.x routes to OSPF neighbor" disabled=no invert-match=no prefix=10.0.0.0/8 prefix-length=8-32
add action=accept chain=ospf-out comment="7. Allow send 172.x routes to OSPF neighbor" disabled=no invert-match=no prefix=172.16.0.0/12 prefix-length=8-32
add action=discard chain=ospf-out comment="8. Discard send non 10.x and 172.x to OSPF neighbor" disabled=no invert-match=no
#
# instancia BGP
/ routing bgp instance
set default name="default" as=16621 router-id=10.138.173.21 \
redistribute-connected=no redistribute-static=no redistribute-rip=no \
redistribute-ospf=yes redistribute-other-bgp=yes out-filter=ebgp-out \
client-to-client-reflection=yes comment="" disabled=no
#
# Enrutamiento OSPF
/routing ospf instance set default name=default router-id=10.138.173.21 comment="" disabled=no distribute-default=never \
redistribute-bgp=as-type-1 redistribute-connected=no redistribute-other-ospf=no redistribute-rip=no redistribute-static=no in-filter=ospf-in out-filter=ospf-out
#
:log info "Unsolclic for 16621-MallaSerratST3 executed."
/