# Generat per a:
# RouterOSv2.9
:log info "Unsolclic for 318-MallaMancoST going to be executed."
#
# Configuration for RouterOS > 2.9.51 or 3.x
# Trasto: 318-MallaMancoST
#
# ATENCIÓ: Versió Beta
#
# Methods to upload/execute this script:
# 1.-As a script. Upload this output as a script either with:
#     a.Winbox (with Linux, wine required)
#     b.Terminal (telnet, ssh...)
#    Then execute the script with:
#      > /system script run script_name
# 2.-Fitxer importat:
#     Desa aquesta "sortida" a un fitxer, després puja'l al router
#     fent servir FTP amb un nom de l'estil "script_name.rsc".
#     (note, l'extensió ".rsc" es un requisit)
#     Executa el fitxer importat amb la comanda:
#      > /import script_name
# 3.-Telnet copia i enganxar:
#     Open a terminal session, and cut&paste this output
#     directly on the terminal input.
#
# Notes:
# -routing-test package is required, be sure you have it enabled at system packages
# -wlans should be enabled manually, be sure to set the correct antenna (a or b)
#   according in how did you connect the cable to the miniPCI. Keep the
#   power at the minimum possible and check the channel.
# -The script doesn't reset the router, you might have to do it manually
# -You must have write access to the router
# -MAC access (winbox, MAC telnet...) method is recommended
#   (the script reconfigures some IP addresses, so communication can be lost)
# -No changes are done in user passwords on the device
# -A Read Only guest account with no password will be created to allow guest access
#   to the router with no danger of damage but able to see the config.
# -Be sure that all packages are activated.
# -Don't run the script from telnet and being connected through an IP connection at
#   the wLan/Lan interface: This interface will be destroyed during the script.
#
/ system identity set name=MallaMancoST
#
# DNS (client & server cache) zone: 2454
/ip dns set primary-dns=10.138.96.3 secondary-dns=10.138.25.68 allow-remote-requests=yes
:delay 1
#
# NTP (client & server cache) zone: 2454
/system ntp client set enabled=yes mode=unicast primary-ntp=10.138.15.130
/system ntp server set manycast=no enabled=yes
:delay 1
#
# Bandwidth-server
/ tool bandwidth-server set enabled=yes authenticate=no allocate-udp-ports-from=2000
#
# SNMP
/snmp set contact="guifi@guifi.net" enabled=yes location="MallaMancomunitat"
#
# 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
#
# Graphing
/tool graphing interface add
# Remove current wLan/Lan bridge if exists
: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;}
# Construct main bridge on wlan1 & 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 MallaMancoST-APEst
/interface wireless set wlan1 name="wlan1" \
radio-name="MallaMancoST-APEst" mode=ap-bridge ssid="guifi.net-MallaMancoST-APEst" \
band="2.4ghz-b" \
frequency-mode=manual-txpower country=spain antenna-gain=0 \
frequency=2457 \
dfs-mode=none \
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.38.97/27"] do={remove $i}
/ ip address add address=10.138.38.97/27 network=10.138.38.96 broadcast=10.138.38.127 interface=wLan/Lan 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.38.96/27] do={/routing ospf network remove $i;}
add network=10.138.38.96/27 area=backbone disabled=no
:delay 1
#
# DHCP
/ip dhcp-server lease
:foreach i in [find comment=""] do={remove $i;}
:delay 1
add address=10.138.38.98 mac-address=00:14:BF:09:41:28 client-id=MallaCasanovaFeu server=dhcp-wLan/Lan
add address=10.138.38.99 mac-address=ff:ff:ff:ff:ff:ff client-id=SevaMonicaRadio1 server=dhcp-wLan/Lan
add address=10.138.38.100 mac-address=00:14:BF:EF:30:4D client-id=MallaElFeuRadio1 server=dhcp-wLan/Lan
add address=10.138.38.101 mac-address=00:16:01:84:9F:CC client-id=SMBSansComermaRadio1 server=dhcp-wLan/Lan
add address=10.138.38.102 mac-address=00:0D:0B:FD:CB:18 client-id=SMBPSanchezRadio1 server=dhcp-wLan/Lan
add address=10.138.38.103 mac-address=00:16:B6:11:46:A8 client-id=SevaEnrricRadio1 server=dhcp-wLan/Lan
add address=10.138.38.104 mac-address=00:16:01:12:E0:B6 client-id=BrullLesBatallesRadio1 server=dhcp-wLan/Lan
add address=10.138.38.105 mac-address=00:18:39:C6:83:1A client-id=SMBJaumeRadio1 server=dhcp-wLan/Lan
add address=10.138.38.106 mac-address=00:16:B6:C9:19:03 client-id=SevaJordiRadio server=dhcp-wLan/Lan
add address=10.138.38.107 mac-address=00:16:01:16:87:AE client-id=ElectricColomRadio1 server=dhcp-wLan/Lan
add address=10.138.38.108 mac-address=00:16:01:4B:67:C6 client-id=SMBLesanRadio1 server=dhcp-wLan/Lan
add address=10.138.38.109 mac-address=00:18:39:C6:84:31 client-id=SMBDavidRadio1 server=dhcp-wLan/Lan
add address=10.138.38.110 mac-address=00:0C:42:0C:CD:01 client-id=SMBSansRadio1 server=dhcp-wLan/Lan
add address=10.138.38.111 mac-address=00:0D:0B:CB:71:82 client-id=SevaCRouresRadio server=dhcp-wLan/Lan
add address=10.138.38.112 mac-address=00:16:01:4B:64:F5 client-id=CarlesSoniaRadio1 server=dhcp-wLan/Lan
add address=10.138.38.113 mac-address=00:16:01:92:67:1C client-id=SMBJoanMRadio1 server=dhcp-wLan/Lan
add address=10.138.38.114 mac-address=00:14:BF:D2:70:2F client-id=SMBSebasRadio1 server=dhcp-wLan/Lan
add address=10.138.38.115 mac-address=00:0C:42:15:89:95 client-id=SMBPinkiRadio1 server=dhcp-wLan/Lan
add address=10.138.38.116 mac-address=00:1A:70:4E:EF:17 client-id=SMBXeviRoureRadio1 server=dhcp-wLan/Lan
add address=10.138.38.117 mac-address=00:14:BF:BB:3C:D0 client-id=SMBVilella server=dhcp-wLan/Lan
add address=10.138.38.118 mac-address=00:1A:70:47:B5:10 client-id=SevaKimbotrapaRadio server=dhcp-wLan/Lan
add address=10.138.38.119 mac-address=00:16:01:AE:2A:5E client-id=SMBElTallerRadio1 server=dhcp-wLan/Lan
add address=10.138.38.120 mac-address=ff:ff:ff:ff:ff:ff client-id=TonaAusatelAP server=dhcp-wLan/Lan
add address=10.138.38.121 mac-address=00:14:BF:BB:3C:D0 client-id=SMBDavidVRadio1 server=dhcp-wLan/Lan
add address=10.138.38.122 mac-address=00:1D:7E:4B:75:10 client-id=SMBAnnaRadio1 server=dhcp-wLan/Lan
add address=10.138.38.123 mac-address=ff:ff:ff:ff:ff:ff client-id=SMBXOcanaRadio1 server=dhcp-wLan/Lan
add address=10.138.38.124 mac-address=00:1D:0F:AE:C3:03 client-id=SevaBlancaJRadio1 server=dhcp-wLan/Lan
add address=10.138.38.125 mac-address=00:15:6D:A6:93:9D client-id=SMBMarcel server=dhcp-wLan/Lan
add address=10.138.38.126 mac-address=ff:ff:ff:ff:ff:ff client-id=SMBJordiBegoRadio1 server=dhcp-wLan/Lan
:foreach i in [/ip dhcp-server network find address="10.138.38.96/27"] do={/ip dhcp-server network remove $i;}
: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.38.126-10.138.38.126
/ip dhcp-server network add address=10.138.38.96/27 gateway=10.138.38.97 domain=guifi.net comment=dhcp-wLan/Lan
: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
#
:delay 1
# Type: wds/p2p
# Remove all existing wds interfaces
: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;}
#
:delay 1
#
# Radio#: 1 MallaMancoST-TonaCastell
/interface wireless set wlan2 name="wlan2" \
radio-name="MallaMancoST-TonaCastell" mode=ap-bridge ssid="guifi.net-MallaMancoST-TonaCastell" \
band="5ghz" \
frequency-mode=manual-txpower country=spain antenna-gain=0 \
frequency=5560 \
dfs-mode=none \
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.225/27"] do={remove $i}
/ ip address add address=10.138.43.225/27 network=10.138.43.224 broadcast=10.138.43.255 interface=wlan2 disabled=no
/ routing ospf interface
:foreach i in [/routing ospf interface find interface=wlan2] do={/routing ospf interface remove $i;}
add interface=wlan2
/ routing ospf network
:foreach i in [/routing ospf network find network=10.138.43.224/27] do={/routing ospf network remove $i;}
add network=10.138.43.224/27 area=backbone disabled=no
:delay 1
#
# DHCP
/ip dhcp-server lease
:foreach i in [find comment=""] do={remove $i;}
:delay 1
add address=10.138.43.226 mac-address=ff:ff:ff:ff:ff:ff client-id=TonaJCasalsRadio4 server=dhcp-wlan2
:foreach i in [/ip dhcp-server network find address="10.138.43.224/27"] do={/ip dhcp-server network remove $i;}
:foreach i in [/ip pool find name=dhcp-wlan2] do={/ip pool remove $i;}
/ip pool add name=dhcp-wlan2 ranges=10.138.43.232-10.138.43.254
/ip dhcp-server network add address=10.138.43.224/27 gateway=10.138.43.225 domain=guifi.net comment=dhcp-wlan2
:foreach i in [/ip dhcp-server find name=dhcp-wlan2] do={/ip dhcp-server remove $i;}
/ip dhcp-server add name=dhcp-wlan2 interface=wlan2 address-pool=dhcp-wlan2 disabled=no
#
:delay 1
# Type: wds/p2p
# Remove all existing wds interfaces
: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_TonaCastellST" master-interface=wlan2 wds-address=00:0B:6B:09:D7:0F disabled=no
/ ip address add address=172.25.7.37/30 network=172.25.7.36 broadcast=172.25.7.39 interface=wds_TonaCastellST disabled=no comment="wds_TonaCastellST"
/ routing ospf interface
:foreach i in [/routing ospf interface find interface=wds_TonaCastellST] do={/routing ospf interface remove $i;}
add interface=wds_TonaCastellST
/ routing ospf network
:foreach i in [/routing ospf network find network=172.25.7.36/30] do={/routing ospf network remove $i;}
add network=172.25.7.36/30 area=backbone disabled=yes
/ routing bgp peer
:foreach i in [find name=TonaCastellST] do={/routing bgp peer remove $i;}
add name="TonaCastellST" instance=default remote-address=172.25.7.38 remote-as=4083 \
multihop=no route-reflect=no ttl=1 in-filter=ospf-in out-filter=ospf-out disabled=no
#
:delay 1
#
# Radio#: 2 MallaMancoST-SevaSetup
/interface wireless set wlan3 name="wlan3" \
radio-name="MallaMancoST-SevaSetup" mode=ap-bridge ssid="guifi.net-MallaMancoST-SevaSetup" \
band="5ghz" \
frequency-mode=manual-txpower country=spain antenna-gain=0 \
frequency=5260 \
dfs-mode=none \
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
# Remove all existing wds interfaces
: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;}
/ interface wireless wds
add name="wds_SevaSetupST1" master-interface=wlan3 wds-address=00:0B:6B:37:CB:2A disabled=no
/ ip address add address=172.25.1.113/30 network=172.25.1.112 broadcast=172.25.1.115 interface=wds_SevaSetupST1 disabled=no comment="wds_SevaSetupST1"
/ routing ospf interface
:foreach i in [/routing ospf interface find interface=wds_SevaSetupST1] do={/routing ospf interface remove $i;}
add interface=wds_SevaSetupST1
/ routing ospf network
:foreach i in [/routing ospf network find network=172.25.1.112/30] do={/routing ospf network remove $i;}
add network=172.25.1.112/30 area=backbone disabled=yes
/ routing bgp peer
:foreach i in [find name=SevaSetupST1] do={/routing bgp peer remove $i;}
add name="SevaSetupST1" instance=default remote-address=172.25.1.114 remote-as=2511 \
multihop=no route-reflect=no ttl=1 in-filter=ospf-in out-filter=ospf-out disabled=no
#
:delay 1
#
# Radio#: 3 MallaMancoST-MallaSerrat
/interface wireless set wlan4 name="wlan4" \
radio-name="MallaMancoST-MallaSerrat" mode=ap-bridge ssid="guifi.net-MallaMancoST-MallaSerrat" \
band="5ghz" \
frequency-mode=manual-txpower country=spain antenna-gain=0 \
frequency=5660 \
dfs-mode=none \
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
# Remove all existing wds interfaces
:foreach i in [/interface wireless wds find master-interface=wlan4] \
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_MallaSerratST2" master-interface=wlan4 wds-address=00:1A:4D:21:0E:AB disabled=no
/ ip address add address=172.25.7.62/30 network=172.25.7.60 broadcast=172.25.7.63 interface=wds_MallaSerratST2 disabled=no comment="wds_MallaSerratST2"
/ routing ospf interface
:foreach i in [/routing ospf interface find interface=wds_MallaSerratST2] do={/routing ospf interface remove $i;}
add interface=wds_MallaSerratST2
/ routing ospf network
:foreach i in [/routing ospf network find network=172.25.7.60/30] do={/routing ospf network remove $i;}
add network=172.25.7.60/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.7.61 remote-as=1543 \
multihop=no route-reflect=no ttl=1 in-filter=ospf-in out-filter=ospf-out disabled=no
#
:delay 1
#
# Routed device
#
# Altres connexions de cable
/ routing ospf interface
:foreach i in [/routing ospf interface find interface=ether1] do={/routing ospf interface remove $i;}
add interface=ether1
/ routing ospf network
:foreach i in [/routing ospf network find network=10.138.96.192/27] do={/routing ospf network remove $i;}
add network=10.138.96.192/27 area=backbone disabled=no
/ routing bgp peer
:foreach i in [find name=MallaMancoST2] do={/routing bgp peer remove $i;}
add name="MallaMancoST2" instance=default remote-address=10.138.96.193 remote-as=9460 \
multihop=no route-reflect=no ttl=1 in-filter=ospf-in out-filter=ospf-out disabled=yes
:foreach i in [/ip address find address="10.138.96.194/27"] do={/ip address remove $i;}
:delay 1
/ ip address add address=10.138.96.194/27 network=10.138.96.192 broadcast=10.138.96.223 interface=ether1 disabled=no comment="MallaMancoST2"
/ routing ospf interface
:foreach i in [/routing ospf interface find interface=ether3] do={/routing ospf interface remove $i;}
add interface=ether3
/ routing ospf network
:foreach i in [/routing ospf network find network=172.25.4.76/30] do={/routing ospf network remove $i;}
add network=172.25.4.76/30 area=backbone disabled=no
/ routing bgp peer
:foreach i in [find name=TonaAusatelNord] do={/routing bgp peer remove $i;}
add name="TonaAusatelNord" instance=default remote-address=172.25.4.78 remote-as=241 \
multihop=no route-reflect=no ttl=1 in-filter=ospf-in out-filter=ospf-out disabled=yes
:foreach i in [/ip address find address="172.25.4.77/30"] do={/ip address remove $i;}
:delay 1
/ ip address add address=172.25.4.77/30 network=172.25.4.76 broadcast=172.25.4.79 interface=ether3 disabled=no comment="TonaAusatelNord"
#
# Internal addresses NAT
:foreach i in [/ip firewall nat find src-address="172.25.0.0/16"] 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.43.225 to-ports=0-65535 comment="" disabled=no
add chain=srcnat src-address="172.25.0.0/16" dst-address=!172.25.0.0/16 protocol=!ospf action=src-nat to-addresses=10.138.43.225 to-ports=0-65535 comment="" disabled=no
#
# Enrutament BGP
# Filtres BGP i OSPF
: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;}
/ routing filter
add chain=ospf-out prefix=10.0.0.0/8 prefix-length=8-32 invert-match=no action=accept comment="" disabled=no
add chain=ospf-out invert-match=no action=discard comment="" disabled=no
add chain=ospf-in prefix=10.0.0.0/8 prefix-length=8-32 invert-match=no action=accept comment="" disabled=no
add chain=ospf-in invert-match=no action=reject comment="" disabled=no
#
# Instància BGP
/ routing bgp instance
set default name="default" as=318 router-id=10.138.43.225 redistribute-static=yes \
redistribute-connected=yes redistribute-rip=yes redistribute-ospf=yes \
redistribute-other-bgp=yes out-filter=ospf-out \
client-to-client-reflection=yes comment="" disabled=no
#
# Enrutament OSPF
/routing ospf set router-id=10.138.43.225 redistribute-connected=as-type-1 redistribute-static=as-type-1 redistribute-bgp=as-type-1
#
:log info "Unsolclic for 318-MallaMancoST executed."
/