# Generated for:
# RouterOSv4.7+
:log info "Unsolclic for 113-GurbCEPAST1 going to be executed."
#
# Configuration for RouterOS 4.7 and newer 4.x
# Device: 113-GurbCEPAST1
#
# 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.-Imported file:
#     Save this output to a file, then upload it to the router
#     using ftp using a name like "script_name.rsc".
#     (note that extension ".rsc" is required)
#     Run the import file using the command:
#      > /import script_name
# 3.-Telnet cut&paste:
#     Open a terminal session, and cut&paste this output
#     directly on the terminal input.
#
# Notes:
# -routing-test package is required if you use RouterOSv2.9 , 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=GurbCEPAST1
#
# DNS (client & server cache) zone: 2451
/ip dns set servers=10.138.0.2,10.138.0.2 allow-remote-requests=yes
:delay 1
#
# NTP (client & server cache) zone: 2451
/system ntp client set enabled=yes mode=unicast primary-ntp=10.138.0.2 secondary-ntp=10.138.0.2
: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="GurbCEPA"
#
# 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 GurbCEPA-AP-Amistat
/interface wireless set wlan1 name="wlan1" \
radio-name="GurbCEPA-AP-Amistat" mode=ap-bridge ssid="guifi.net-GurbCEPA-AP-Amistat" \
band="2.4ghz-b" \
frequency-mode=regulatory-domain country=spain antenna-gain=14 \
frequency=2462 \
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.12.65/27"] do={remove $i}
/ ip address add address=10.138.12.65/27 network=10.138.12.64 broadcast=10.138.12.95 interface=wLan/Lan disabled=no
/ routing bgp network
:foreach i in [/routing bgp network find network=10.138.12.64/27] do={/routing bgp network remove $i;}
add network=10.138.12.64/27 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.12.64/27] do={/routing ospf network remove $i;}
add network=10.138.12.64/27 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.12.71-10.138.12.94
: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
:foreach i in [/ip dhcp-server network find address="10.138.12.64/27"] do={/ip dhcp-server network remove $i;}
/ip dhcp-server network add address=10.138.12.64/27 gateway=10.138.12.65 domain=guifi.net comment=dhcp-wLan/Lan
/ip dhcp-server lease
:foreach i in [find comment=""] do={remove $i;}
:delay 1
add address=10.138.12.66 mac-address=00:15:6D:72:10:8D client-id=GurbAMuntadasRd1 server=dhcp-wLan/Lan
add address=10.138.12.67 mac-address=00:12:17:DE:0D:7E client-id=GurbJLlimos server=dhcp-wLan/Lan
add address=10.138.12.68 mac-address=00:12:17:BC:C2:6C client-id=MasPujol server=dhcp-wLan/Lan
add address=10.138.12.69 mac-address=00:12:17:DE:0D:72 client-id=GurbJBarris server=dhcp-wLan/Lan
add address=10.138.12.70 mac-address=00:00:00:00:00:01 client-id=GurbTerricabresColomRd1 server=dhcp-wLan/Lan
add address=10.138.12.71 mac-address=00:19:E0:67:1C:01 client-id=GurbJCasanovasRd1 server=dhcp-wLan/Lan
add address=10.138.12.72 mac-address=00:14:BF:77:6E:C9 client-id=GurbABruguera server=dhcp-wLan/Lan
add address=10.138.12.73 mac-address=00:12:17:B7:FC:5B client-id=GurbJAldoma server=dhcp-wLan/Lan
add address=10.138.12.74 mac-address=00:13:10:1F:A4:FD client-id=GurbMasAumatell server=dhcp-wLan/Lan
add address=10.138.12.75 mac-address=ff:ff:ff:ff:ff:ff client-id=GurbLlucanesRadio1 server=dhcp-wLan/Lan
add address=10.138.12.76 mac-address=00:13:10:3F:A8:88 client-id=GurbElDacs server=dhcp-wLan/Lan
add address=10.138.12.77 mac-address=00:12:17:B7:55:72 client-id=GurbVilanera server=dhcp-wLan/Lan
add address=10.138.12.78 mac-address=00:15:6D:1B:52:80 client-id=GurbelsNoguesRd1 server=dhcp-wLan/Lan
add address=10.138.12.79 mac-address=00:1A:70:4E:BC:F7 client-id=GurbCastell server=dhcp-wLan/Lan
add address=10.138.12.80 mac-address=00:18:39:C6:26:7D client-id=GurbJASolerRadio server=dhcp-wLan/Lan
add address=10.138.12.81 mac-address=00:14:BF:EB:89:F6 client-id=GurbSoniaRadio1 server=dhcp-wLan/Lan
add address=10.138.12.82 mac-address=00:27:22:14:0D:E0 client-id=GurbPratsobreroca server=dhcp-wLan/Lan
add address=10.138.12.83 mac-address=00:14:BF:EF:35:18 client-id=GurbGallardoRadio1 server=dhcp-wLan/Lan
add address=10.138.12.84 mac-address=00:14:BF:EB:86:90 client-id=GurbCirera server=dhcp-wLan/Lan
add address=10.138.12.85 mac-address=00:14:BF:EB:8F:F5 client-id=GurbESSAGERadio1 server=dhcp-wLan/Lan
add address=10.138.12.86 mac-address=00:18:F8:F2:69:8E client-id=GurbJuaniRadio1 server=dhcp-wLan/Lan
add address=10.138.12.87 mac-address=ff:ff:ff:ff:ff:ff client-id=GurbFRocafigueraRadio1 server=dhcp-wLan/Lan
add address=10.138.12.88 mac-address=00:15:6D:A6:F1:47 client-id=GurbLDelgadoRd1 server=dhcp-wLan/Lan
add address=10.138.12.89 mac-address=00:16:01:B0:6F:D3 client-id=GurbSoniaXRd1 server=dhcp-wLan/Lan
add address=10.138.12.90 mac-address=00:13:10:7A:DC:0E client-id=AbrilClient server=dhcp-wLan/Lan
add address=10.138.12.91 mac-address=00:18:39:AE:83:24 client-id=GurbJBlancafortRadio1 server=dhcp-wLan/Lan
add address=10.138.12.92 mac-address=00:14:BF:EB:72:9E client-id=GurbFJorqueraRadio1 server=dhcp-wLan/Lan
add address=10.138.12.93 mac-address=00:15:6D:A8:AC:0E client-id=GurbJoanCasasRd1 server=dhcp-wLan/Lan
add address=10.138.12.94 mac-address=00:1D:7E:ED:2C:57 client-id=GurbFabreRadio1 server=dhcp-wLan/Lan
#
: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;}
/ interface wireless wds
add name="wds_Manel" master-interface=wlan1 wds-address=00:12:17:DE:0D:75 disabled=no
/ ip address add address=172.25.1.205/30 network=172.25.1.204 broadcast=172.25.1.207 interface=wds_Manel disabled=no comment="wds_Manel"
/ routing ospf interface
:foreach i in [/routing ospf interface find interface=wds_Manel] do={/routing ospf interface remove $i;}
add interface=wds_Manel
/ routing ospf network
:foreach i in [/routing ospf network find network=172.25.1.204/30] do={/routing ospf network remove $i;}
add network=172.25.1.204/30 area=backbone disabled=no
/ routing bgp peer
:foreach i in [find name=Manel] do={/routing bgp peer remove $i;}
add name="Manel" instance=default remote-address=172.25.1.206 remote-as=148 \
multihop=no route-reflect=no ttl=default in-filter=ebgp-in out-filter=ebgp-out disabled=yes
#
:delay 1
#
# Radio#: 1 GurbCEPARocLlarg
/interface wireless set wlan2 name="wlan2" \
radio-name="GurbCEPARocLlarg" mode=ap-bridge ssid="guifi.net-GurbCEPARocLlarg" \
band="5ghz" \
frequency-mode=regulatory-domain country=spain antenna-gain=5 \
frequency=5700 \
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_SBGRocLlargST1" master-interface=wlan2 wds-address=00:0B:6B:81:45:97 disabled=no
/ ip address add address=172.25.0.222/30 network=172.25.0.220 broadcast=172.25.0.223 interface=wds_SBGRocLlargST1 disabled=no comment="wds_SBGRocLlargST1"
/ routing ospf interface
:foreach i in [/routing ospf interface find interface=wds_SBGRocLlargST1] do={/routing ospf interface remove $i;}
add interface=wds_SBGRocLlargST1
/ routing ospf network
:foreach i in [/routing ospf network find network=172.25.0.220/30] do={/routing ospf network remove $i;}
add network=172.25.0.220/30 area=backbone disabled=yes
/ routing bgp peer
:foreach i in [find name=SBGRocLlargST1] do={/routing bgp peer remove $i;}
add name="SBGRocLlargST1" instance=default remote-address=172.25.0.221 remote-as=5508 \
multihop=no route-reflect=no ttl=default in-filter=ebgp-in out-filter=ebgp-out disabled=no
#
:delay 1
#
# Radio#: 3 GurbCEPAPavello
/interface wireless set wlan4 name="wlan4" \
radio-name="GurbCEPAPavello" mode=ap-bridge ssid="guifi.net-GurbCEPAPavello" \
band="5ghz" \
frequency-mode=regulatory-domain country=spain antenna-gain=5 \
frequency=5300 \
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_GurbPavelloAP" master-interface=wlan4 wds-address=00:16:E6:34:D6:63 disabled=no
/ ip address add address=172.25.1.125/30 network=172.25.1.124 broadcast=172.25.1.127 interface=wds_GurbPavelloAP disabled=no comment="wds_GurbPavelloAP"
/ routing ospf interface
:foreach i in [/routing ospf interface find interface=wds_GurbPavelloAP] do={/routing ospf interface remove $i;}
add interface=wds_GurbPavelloAP
/ routing ospf network
:foreach i in [/routing ospf network find network=172.25.1.124/30] do={/routing ospf network remove $i;}
add network=172.25.1.124/30 area=backbone disabled=yes
/ routing bgp peer
:foreach i in [find name=GurbPavelloAP] do={/routing bgp peer remove $i;}
add name="GurbPavelloAP" instance=default remote-address=172.25.1.126 remote-as=257 \
multihop=no route-reflect=no ttl=default in-filter=ebgp-in out-filter=ebgp-out disabled=no
#
:delay 1
#
# Routed device
#
# Other cable connections
/ 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.201.0/28] do={/routing ospf network remove $i;}
add network=172.25.201.0/28 area=backbone disabled=no
/ routing bgp peer
:foreach i in [find name=GurbCEPAST3] do={/routing bgp peer remove $i;}
add name="GurbCEPAST3" instance=default remote-address=172.25.201.3 remote-as=2407 \
multihop=no route-reflect=no ttl=default in-filter=ebgp-in out-filter=ebgp-out disabled=yes
/ 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.201.0/28] do={/routing ospf network remove $i;}
add network=172.25.201.0/28 area=backbone disabled=no
/ routing bgp peer
:foreach i in [find name=GurbCEPAST2] do={/routing bgp peer remove $i;}
add name="GurbCEPAST2" instance=default remote-address=172.25.201.2 remote-as=115 \
multihop=no route-reflect=no ttl=default in-filter=ebgp-in out-filter=ebgp-out disabled=yes
/ 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.201.0/28] do={/routing ospf network remove $i;}
add network=172.25.201.0/28 area=backbone disabled=no
/ routing bgp peer
:foreach i in [find name=GurbCEPAST4] do={/routing bgp peer remove $i;}
add name="GurbCEPAST4" instance=default remote-address=172.25.201.4 remote-as=7852 \
multihop=no route-reflect=no ttl=default in-filter=ebgp-in out-filter=ebgp-out disabled=yes
/ 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.201.0/28] do={/routing ospf network remove $i;}
add network=172.25.201.0/28 area=backbone disabled=no
/ routing bgp peer
:foreach i in [find name=GurbCEPAST5] do={/routing bgp peer remove $i;}
add name="GurbCEPAST5" instance=default remote-address=172.25.201.5 remote-as=14776 \
multihop=no route-reflect=no ttl=default in-filter=ebgp-in out-filter=ebgp-out disabled=yes
/ 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.201.0/28] do={/routing ospf network remove $i;}
add network=172.25.201.0/28 area=backbone disabled=no
/ routing bgp peer
:foreach i in [find name=GurbCEPASwitch] do={/routing bgp peer remove $i;}
add name="GurbCEPASwitch" instance=default remote-address=172.25.201.6 remote-as=26250 \
multihop=no route-reflect=no ttl=default in-filter=ebgp-in out-filter=ebgp-out disabled=yes
:foreach i in [/ip address find address="172.25.201.1/28"] do={/ip address remove $i;}
:delay 1
/ ip address add address=172.25.201.1/28 network=172.25.201.0 broadcast=172.25.201.15 interface=ether3 disabled=no comment="GurbCEPAST3,GurbCEPAST2,GurbCEPAST4,GurbCEPAST5,GurbCEPASwitch"
#
# Internal addresses NAT
: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.12.65 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.12.65 comment="" disabled=no
#
# BGP Routing
# 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
#
# BGP instance
/ routing bgp instance
set default name="default" as=113 router-id=10.138.12.65 \
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
#
# OSPF Routing
/routing ospf instance set default name=default router-id=10.138.12.65 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 113-GurbCEPAST1 executed."
/