# Generat per a:
# RouterOSv2.9
:log info "Unsolclic for 4485-OristaDipST going to be executed."
#
# Configuration for RouterOS > 2.9.51 or 3.9
# Trasto: 4485-OristaDipST
#
# WARNING: Beta version
#
# 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=OristaDipST
#
# DNS (client & server cache) zone: 2460
/ip dns set primary-dns=10.138.90.98 secondary-dns=10.138.120.66 allow-remote-requests=yes
:delay 1
#
# NTP (client & server cache) zone: 2460
/system ntp client set enabled=yes mode=unicast primary-ntp=10.138.25.68
/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="OristaDip"
#
# 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 OristaDip-CentreCivic
/interface wireless set wlan1 name="wlan1" \
radio-name="OristaDip-CentreCivic" mode=ap-bridge ssid="guifi.net-OristaDip-CentreCivic" \
band="2.4ghz-b" \
frequency-mode=manual-txpower country=spain antenna-gain=0 \
dfs-mode=radar-detect \
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=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
# Type: wLan/Lan
/ip address
:foreach i in [find address="10.138.90.1/27"] do={remove $i}
/ ip address add address=10.138.90.1/27 network=10.138.90.0 broadcast=10.138.90.31 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.90.0/27] do={/routing ospf network remove $i;}
add network=10.138.90.0/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.90.2 mac-address=ff:ff:ff:ff:ff:ff client-id=OristaSola server=dhcp-wLan/Lan
add address=10.138.90.3 mac-address=00:16:01:92:67:A4 client-id=SFSCalPujaltRadio2 server=dhcp-wLan/Lan
add address=10.138.90.4 mac-address=00:07:40:B4:82:3D client-id=oristahereuRadio1 server=dhcp-wLan/Lan
add address=10.138.90.5 mac-address=ff:ff:ff:ff:ff:ff client-id=OristaCabreRadio1 server=dhcp-wLan/Lan
add address=10.138.90.6 mac-address=ff:ff:ff:ff:ff:ff client-id=OristaQuintanaRadio1 server=dhcp-wLan/Lan
add address=10.138.90.7 mac-address=ff:ff:ff:ff:ff:ff client-id=OristaMarmiRadio1 server=dhcp-wLan/Lan
add address=10.138.90.8 mac-address=ff:ff:ff:ff:ff:ff client-id=OristaVallsRadio1 server=dhcp-wLan/Lan
add address=10.138.90.9 mac-address=00:1A:70:7B:5D:98 client-id=oristaedugemaRadio1 server=dhcp-wLan/Lan
add address=10.138.90.10 mac-address=00:1D:7E:28:13:32 client-id=OristaTaniaRadio1 server=dhcp-wLan/Lan
add address=10.138.90.11 mac-address=00:1D:7E:28:19:A1 client-id=OristaCalManelRadio1 server=dhcp-wLan/Lan
add address=10.138.90.12 mac-address=00:1D:7E:28:09:18 client-id=OristaCalMagemRadio1 server=dhcp-wLan/Lan
add address=10.138.90.13 mac-address=00:16:01:B0:0F:96 client-id=OristaValeriaRadio1 server=dhcp-wLan/Lan
add address=10.138.90.14 mac-address=00:1D:7E:28:03:69 client-id=OristaCalXexaRadio1 server=dhcp-wLan/Lan
:foreach i in [/ip dhcp-server network find address="10.138.90.0/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.90.20-10.138.90.30
/ip dhcp-server network add address=10.138.90.0/27 gateway=10.138.90.1 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=no
#
:delay 1
# Type: HotSpot
#
# HotSpot
/interface wireless
:foreach i in [find name=hotspot1] do={remove $i}
add name="hotspot1" arp=enabled master-interface=wlan1 ssid="guifi.net-AccesObert" disabled="no"
/ip address
:foreach i in [find address="192.168.100.1/24"] do={remove $i}
/ip address add address=192.168.100.1/24 interface=hotspot1 disabled=no
/ip pool
:foreach i in [find name=hs-pool-100] do={remove $i}
add name="hs-pool-100" ranges=192.168.100.2-192.168.100.254
/ip dhcp-server
:foreach i in [find name=hs-dhcp-100] do={remove $i}
add name="hs-dhcp-100" interface=hotspot1 lease-time=1h address-pool=hs-pool-100 bootp-support=static authoritative=after-2sec-delay disabled=no
/ip dhcp-server network
:foreach i in [find address="192.168.100.0/24"] do={remove $i}
add address=192.168.100.0/24 gateway=192.168.100.1 domain=guifi.net comment=dhcp-0
/ip hotspot profile
:foreach i in [find name=hsprof1] do={remove $i}
add name="hsprof1" hotspot-address=192.168.100.1 dns-name="guests.guifi.net" html-directory=hotspot smtp-server=0.0.0.0 login-by=http-pap,trial split-user-domain=no trial-uptime=30m/1d trial-user-profile=default use-radius=no
/ip hotspot user profile
set default name="default" advertise-url=http://guifi.net/trespassos/
/ip hotspot
:foreach i in [find name=hotspot1] do={remove $i}
add name="hotspot1" interface=hotspot1 address-pool=hs-pool-100 profile=hsprof1 idle-timeout=5m keepalive-timeout=none addresses-per-mac=2 disabled=no
# end of HotSpot
:delay 1
#
# DHCP
/ip dhcp-server lease
:foreach i in [find comment=""] do={remove $i;}
:delay 1
add address=10.138.90.2 mac-address=ff:ff:ff:ff:ff:ff client-id=OristaSola server=dhcp-wLan/Lan
add address=10.138.90.3 mac-address=00:16:01:92:67:A4 client-id=SFSCalPujaltRadio2 server=dhcp-wLan/Lan
add address=10.138.90.4 mac-address=00:07:40:B4:82:3D client-id=oristahereuRadio1 server=dhcp-wLan/Lan
add address=10.138.90.5 mac-address=ff:ff:ff:ff:ff:ff client-id=OristaCabreRadio1 server=dhcp-wLan/Lan
add address=10.138.90.6 mac-address=ff:ff:ff:ff:ff:ff client-id=OristaQuintanaRadio1 server=dhcp-wLan/Lan
add address=10.138.90.7 mac-address=ff:ff:ff:ff:ff:ff client-id=OristaMarmiRadio1 server=dhcp-wLan/Lan
add address=10.138.90.8 mac-address=ff:ff:ff:ff:ff:ff client-id=OristaVallsRadio1 server=dhcp-wLan/Lan
add address=10.138.90.9 mac-address=00:1A:70:7B:5D:98 client-id=oristaedugemaRadio1 server=dhcp-wLan/Lan
add address=10.138.90.10 mac-address=00:1D:7E:28:13:32 client-id=OristaTaniaRadio1 server=dhcp-wLan/Lan
add address=10.138.90.11 mac-address=00:1D:7E:28:19:A1 client-id=OristaCalManelRadio1 server=dhcp-wLan/Lan
add address=10.138.90.12 mac-address=00:1D:7E:28:09:18 client-id=OristaCalMagemRadio1 server=dhcp-wLan/Lan
add address=10.138.90.13 mac-address=00:16:01:B0:0F:96 client-id=OristaValeriaRadio1 server=dhcp-wLan/Lan
add address=10.138.90.14 mac-address=00:1D:7E:28:03:69 client-id=OristaCalXexaRadio1 server=dhcp-wLan/Lan
:foreach i in [/ip dhcp-server network find address="10.138.90.0/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.90.20-10.138.90.30
/ip dhcp-server network add address=10.138.90.0/27 gateway=10.138.90.1 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=no
#
:delay 1
#
# Radio#: 1 OristaDip-CentreCivic
/interface wireless set wlan2 name="wlan2" \
radio-name="OristaDip-CentreCivic" mode=ap-bridge ssid="guifi.net-OristaDip-CentreCivic" \
band="5ghz" \
frequency-mode=manual-txpower country=spain antenna-gain=0 \
frequency=5180 \
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=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_SFSBruixesST2" master-interface=wlan2 wds-address=00:0C:42:0C:A7:1B disabled=no
/ ip address add address=172.25.128.30/30 network=172.25.128.28 broadcast=172.25.128.31 interface=wds_SFSBruixesST2 disabled=no comment="wds_SFSBruixesST2"
/ routing ospf interface
:foreach i in [/routing ospf interface find interface=wds_SFSBruixesST2] do={/routing ospf interface remove $i;}
add interface=wds_SFSBruixesST2
/ routing ospf network
:foreach i in [/routing ospf network find network=172.25.128.28/30] do={/routing ospf network remove $i;}
add network=172.25.128.28/30 area=backbone disabled=yes
/ routing bgp peer
:foreach i in [find name=SFSBruixesST2] do={/routing bgp peer remove $i;}
add name="SFSBruixesST2" instance=default remote-address=172.25.128.29 remote-as=3192 \
multihop=no route-reflect=no ttl=1 in-filter=ospf-in out-filter=ospf-out disabled=no
#
:delay 1
#
# Radio#: 2 OristaDip-CentreCivic
/interface wireless set wlan3 name="wlan3" \
radio-name="OristaDip-CentreCivic" mode=ap-bridge ssid="guifi.net-OristaDip-CentreCivic" \
band="5ghz" \
frequency-mode=manual-txpower country=spain antenna-gain=0 \
frequency=5200 \
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_OristaCentreCivic" master-interface=wlan3 wds-address=00:0C:42:05:83:AC disabled=no
/ ip address add address=172.25.4.197/30 network=172.25.4.196 broadcast=172.25.4.199 interface=wds_OristaCentreCivic disabled=no comment="wds_OristaCentreCivic"
/ routing ospf interface
:foreach i in [/routing ospf interface find interface=wds_OristaCentreCivic] do={/routing ospf interface remove $i;}
add interface=wds_OristaCentreCivic
/ routing ospf network
:foreach i in [/routing ospf network find network=172.25.4.196/30] do={/routing ospf network remove $i;}
add network=172.25.4.196/30 area=backbone disabled=yes
/ routing bgp peer
:foreach i in [find name=OristaCentreCivic] do={/routing bgp peer remove $i;}
add name="OristaCentreCivic" instance=default remote-address=172.25.4.198 remote-as=4531 \
multihop=no route-reflect=no ttl=1 in-filter=ospf-in out-filter=ospf-out disabled=no
#
:delay 1
#
# Radio#: 3 OristaDip-CentreCivic
/interface wireless set wlan4 name="wlan4" \
radio-name="OristaDip-CentreCivic" mode=ap-bridge ssid="guifi.net-OristaDip-CentreCivic" \
band="2.4ghz-b" \
frequency-mode=manual-txpower country=spain antenna-gain=0 \
dfs-mode=radar-detect \
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;}
#
:delay 1
# Type: HotSpot
#
# HotSpot
/interface wireless
:foreach i in [find name=hotspot4] do={remove $i}
add name="hotspot4" arp=enabled master-interface=wlan4 ssid="guifi.net-AccesObert" disabled="no"
/ip address
:foreach i in [find address="192.168.103.1/24"] do={remove $i}
/ip address add address=192.168.103.1/24 interface=hotspot4 disabled=no
/ip pool
:foreach i in [find name=hs-pool-103] do={remove $i}
add name="hs-pool-103" ranges=192.168.103.2-192.168.103.254
/ip dhcp-server
:foreach i in [find name=hs-dhcp-103] do={remove $i}
add name="hs-dhcp-103" interface=hotspot4 lease-time=1h address-pool=hs-pool-103 bootp-support=static authoritative=after-2sec-delay disabled=no
/ip dhcp-server network
:foreach i in [find address="192.168.103.0/24"] do={remove $i}
add address=192.168.103.0/24 gateway=192.168.103.1 domain=guifi.net comment=dhcp-3
/ip hotspot profile
:foreach i in [find name=hsprof4] do={remove $i}
add name="hsprof4" hotspot-address=192.168.103.1 dns-name="guests.guifi.net" html-directory=hotspot smtp-server=0.0.0.0 login-by=http-pap,trial split-user-domain=no trial-uptime=30m/1d trial-user-profile=default use-radius=no
/ip hotspot user profile
set default name="default" advertise-url=http://guifi.net/trespassos/
/ip hotspot
:foreach i in [find name=hotspot4] do={remove $i}
add name="hotspot4" interface=hotspot4 address-pool=hs-pool-103 profile=hsprof4 idle-timeout=5m keepalive-timeout=none addresses-per-mac=2 disabled=no
# end of HotSpot
:delay 1
#
# DHCP
/ip dhcp-server lease
:foreach i in [find comment=""] do={remove $i;}
:delay 1
add address=172.25.4.198 mac-address=00:0C:42:05:83:AC client-id=OristaCentreCivic server=dhcp-wLan/Lan
:foreach i in [/ip dhcp-server network find address="172.25.4.196/30"] 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=172.25.4.198-172.25.4.198
/ip dhcp-server network add address=172.25.4.196/30 gateway=172.25.4.197 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: wLan
/ip address
:foreach i in [find address="10.138.90.129/27"] do={remove $i}
/ ip address add address=10.138.90.129/27 network=10.138.90.128 broadcast=10.138.90.159 interface=wlan4 disabled=no
/ routing ospf interface
:foreach i in [/routing ospf interface find interface=wlan4] do={/routing ospf interface remove $i;}
add interface=wlan4
/ routing ospf network
:foreach i in [/routing ospf network find network=10.138.90.128/27] do={/routing ospf network remove $i;}
add network=10.138.90.128/27 area=backbone disabled=no
:delay 1
#
# DHCP
/ip dhcp-server lease
:foreach i in [find comment=""] do={remove $i;}
:delay 1
:foreach i in [/ip dhcp-server network find address="10.138.90.128/27"] do={/ip dhcp-server network remove $i;}
:foreach i in [/ip pool find name=dhcp-wlan4] do={/ip pool remove $i;}
/ip pool add name=dhcp-wlan4 ranges=10.138.90.135-10.138.90.158
/ip dhcp-server network add address=10.138.90.128/27 gateway=10.138.90.129 domain=guifi.net comment=dhcp-wlan4
:foreach i in [/ip dhcp-server find name=dhcp-wlan4] do={/ip dhcp-server remove $i;}
/ip dhcp-server add name=dhcp-wlan4 interface=wlan4 address-pool=dhcp-wlan4 disabled=no
#
:delay 1
#
# Routed device
#
# Altres connexions de cable
#
# 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.90.129 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.90.129 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=4485 router-id=10.138.90.129 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.90.129 redistribute-connected=as-type-1 redistribute-static=as-type-1 redistribute-bgp=as-type-1
#
:log info "Unsolclic for 4485-OristaDipST executed."
/