# Honetarakoa sortua:
# RouterOSv5.x
:log info "Unsolclic for 34567-AlcaliAjuntamentRd1 going to be executed."
#
# Configuration for RouterOSv5.x
# Device: 34567-AlcaliAjuntamentRd1
#
# Script hau kargatzeko/exekutatzeko metodoak:
# 1.-Script modura. Kargatu testu hau script modura, hauetako batekin:
#     a.Winbox (Linux-ekin, wine beharrezkoa da)
#     b.Terminal (telnet, ssh...)
#    Gero exekutatu script-a honekin:
#      > /system script run script_izena
# 2.-Inportatutako fitxategia:
#     Gorde testu hau fitxategi batean; gero kargatu routerrean
#     ftp-a erabiliz honelako izen batekin: "script_name.rsc".
#     (kontuan izan ".rsc" luzapena beharrezkoa dela)
#     Exekutatu inportatutako fitxategia komando hau erabiliz:
#      > /import script_izena
# 3.-Telnet kopiatu eta itsatsi:
#     Ireki terminaleko saioa, eta testu hau kopiatu eta itsatsi
#     zuzenean terminalaren leihoan
#
# Oharrak:
# -routing-test paketea beharrezkoa da RouterOSv2.9 erabiltzen baduzu; ziur egon gaituta duzula sistema-paketeetan
# -wlan-ak eskuz gaitu behar lirateke; ziur egon antena egokian ezarrita daudela (a edo b)
#   kablea miniPCIra konektatu duzun moduarekin bat. Manten ezazu
#   potentzia gutxienekoan eta egiaztatu kanala.
# -Scripta-ak ez du routerra berrabiarazi; beharbada, eskuz egin beharko duzu
# -Roterrean idazteko baimena eduki behar duzu
# -MAC bidezko sarbide-metodoa aholkatzen da (winbox, telnet-a MAC-era...)
#   (script-ak zenbait IP helbide berkonfiguratzen ditu, eta komunikazioa eten daiteke)
# -Ez da aldaketarik egiten gailuen erabiltzaileen pasahitzetan
# -Irakurtzeko Soilik moduko gonibatuentzako kontu bat zabalduko da, gonbidatuei sartzen uzteko
#   routerrean, kalterik eragiteko arriskurik gabe baina konfigurazioa ikusteko gaitasunarekin.
# -Ziur egon pakete guztiak aktibatuta daudela.
# -Ez exekutatu script-a telnetetik eta IP konexio baten bidez
#   interfazera konektatuta: interfazea hautsi egingo da script-a exekutatzean.
#
/ system identity set name=AlcaliAjuntamentRd1
#
# DNS (client & server cache) zone: 42683
/ip dns set servers=10.229.50.178 allow-remote-requests=yes
:delay 1
#
# NTP (client & server cache) zone: 42683
:delay 1
#
# Banda-zabaleraren zerbitzaria
/ tool bandwidth-server set enabled=yes authenticate=no allocate-udp-ports-from=2000
#
# SNMP
/snmp community set public addresses=10.0.0.0/8
/snmp set contact="guifi@guifi.net" enabled=yes location="AlcaliAjuntament" trap-community=public
#
# Guest user
/user
:foreach i in [find group=read] do={/user remove $i;}
add name="guest" group=read address=10.0.0.0/8 comment="" disabled=no
#
# Grafikoak
/tool graphing interface add
# Ezabatu egungo wLan/Lan zubia, halakorik baldin badago
: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;}
:delay 1
#
# Radio#: 0 AlcaliAjuntam-T0-360
/interface wireless set wlan1 name="wlan1" \
radio-name="AlcaliAjuntam-T0-360" mode=ap-bridge ssid="guifi.net-AlcaliAjuntam-T0-360" \
band="5ghz-a" channel-width=20mhz \
frequency-mode=regulatory-domain country=spain antenna-gain=5 \
frequency=5700 \
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: wdsAlcaliAjuntament-T0-360
# Ezabatu dauden wds interfaze guztiak
: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_AJAlcaliTorreSN1" master-interface=wlan1 wds-address=00:27:22:58:A0:B0 disabled=no
/ ip address add address=172.16.3.109/30 network=172.16.3.108 broadcast=172.16.3.111 interface=wds_AJAlcaliTorreSN1 disabled=no comment="wds_AJAlcaliTorreSN1"
/ routing ospf interface
:foreach i in [/routing ospf interface find interface=wds_AJAlcaliTorreSN1] do={/routing ospf interface remove $i;}
add interface=wds_AJAlcaliTorreSN1
/ routing ospf network
:foreach i in [/routing ospf network find network=172.16.3.108/30] do={/routing ospf network remove $i;}
add network=172.16.3.108/30 area=backbone disabled=no
/ routing bgp peer
:foreach i in [find name=AJAlcaliTorreSN1] do={/routing bgp peer remove $i;}
add name="AJAlcaliTorreSN1" instance=default remote-address=172.16.3.110 remote-as=38424 \
multihop=no route-reflect=no ttl=default in-filter=ebgp-in out-filter=ebgp-out disabled=yes
#
:delay 1
# Type:
/ip address
:foreach i in [find address="10.229.50.169/29"] do={remove $i}
/ ip address add address=10.229.50.169/29 network=10.229.50.168 broadcast=10.229.50.175 interface=wlan1 disabled=no
/ routing bgp network
:foreach i in [/routing bgp network find network=10.229.50.168/29] do={/routing bgp network remove $i;}
add network=10.229.50.168/29 synchronize=no disabled=no
/ routing ospf interface
:foreach i in [/routing ospf interface find interface=wlan1] do={/routing ospf interface remove $i;}
add interface=wlan1
/ routing ospf network
:foreach i in [/routing ospf network find network=10.229.50.168/29] do={/routing ospf network remove $i;}
add network=10.229.50.168/29 area=backbone disabled=no
:delay 1
#
# DHCP
:foreach i in [/ip pool find name=dhcp-wlan1] do={/ip pool remove $i;}
/ip pool add name=dhcp-wlan1 ranges=10.229.50.174-10.229.50.174
:foreach i in [/ip dhcp-server find name=dhcp-wlan1] do={/ip dhcp-server remove $i;}
/ip dhcp-server add name=dhcp-wlan1 interface=wlan1 address-pool=dhcp-wlan1 disabled=yes
:foreach i in [/ip dhcp-server network find address="10.229.50.168/29"] do={/ip dhcp-server network remove $i;}
/ip dhcp-server network add address=10.229.50.168/29 gateway=10.229.50.169 domain=guifi.net comment=dhcp-wlan1
/ip dhcp-server lease
:foreach i in [find comment=""] do={remove $i;}
:delay 1
#
:delay 1
#
# Radio#: 1 AlcalaliAirFiber
/interface wireless set wlan2 name="wlan2" \
radio-name="AlcalaliAirFiber" mode=ap-bridge ssid="guifi.net-AlcalaliAirFiber" \
band="5ghz-a" channel-width=20mhz \
frequency-mode=regulatory-domain country=spain antenna-gain=5 \
dfs-mode=radar-detect \
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: wdsAlcalaliAirFiber
# Ezabatu dauden wds interfaze guztiak
: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_XabSN3GrupATTIRB4011" master-interface=wlan2 wds-address=00:00:00:00:00:00 disabled=yes
/ ip address add address=172.16.17.165/30 network=172.16.17.164 broadcast=172.16.17.167 interface=wds_XabSN3GrupATTIRB4011 disabled=yes comment="wds_XabSN3GrupATTIRB4011"
/ routing ospf interface
:foreach i in [/routing ospf interface find interface=wds_XabSN3GrupATTIRB4011] do={/routing ospf interface remove $i;}
add interface=wds_XabSN3GrupATTIRB4011
/ routing ospf network
:foreach i in [/routing ospf network find network=172.16.17.164/30] do={/routing ospf network remove $i;}
add network=172.16.17.164/30 area=backbone disabled=no
/ routing bgp peer
:foreach i in [find name=XabSN3GrupATTIRB4011] do={/routing bgp peer remove $i;}
add name="XabSN3GrupATTIRB4011" instance=default remote-address=172.16.17.166 remote-as=46016 \
multihop=no route-reflect=no ttl=default in-filter=ebgp-in out-filter=ebgp-out disabled=yes
#
:delay 1
#
# Routed device
#
# Kable bidezko beste konexio batzuk
/ 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.229.50.200/29] do={/routing ospf network remove $i;}
add network=10.229.50.200/29 area=backbone disabled=yes
/ routing bgp peer
:foreach i in [find name=AlcaliAjuntamentT0] do={/routing bgp peer remove $i;}
add name="AlcaliAjuntamentT0" instance=default remote-address=10.229.50.202 remote-as=38044 \
multihop=no route-reflect=no ttl=default in-filter=ebgp-in out-filter=ebgp-out disabled=no
:foreach i in [/ip address find address="10.229.50.201/29"] do={/ip address remove $i;}
:delay 1
/ ip address add address=10.229.50.201/29 network=10.229.50.200 broadcast=10.229.50.207 interface=ether1 disabled=no comment="AlcaliAjuntamentT0"
/ 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=10.229.50.184/29] do={/routing ospf network remove $i;}
add network=10.229.50.184/29 area=backbone disabled=yes
/ routing bgp peer
:foreach i in [find name=AlcaliAjuntamentNt1] do={/routing bgp peer remove $i;}
add name="AlcaliAjuntamentNt1" instance=default remote-address=10.229.50.186 remote-as=73179 \
multihop=no route-reflect=no ttl=default in-filter=ebgp-in out-filter=ebgp-out disabled=no
:foreach i in [/ip address find address="10.229.50.185/29"] do={/ip address remove $i;}
:delay 1
/ ip address add address=10.229.50.185/29 network=10.229.50.184 broadcast=10.229.50.191 interface=ether3 disabled=no comment="AlcaliAjuntamentNt1"
/ routing ospf interface
:foreach i in [/routing ospf interface find interface=ether5] do={/routing ospf interface remove $i;}
add interface=ether5
/ routing ospf network
:foreach i in [/routing ospf network find network=10.229.50.176/29] do={/routing ospf network remove $i;}
add network=10.229.50.176/29 area=backbone disabled=yes
/ routing bgp peer
:foreach i in [find name=AlcaliAjuntamentSrvr1] do={/routing bgp peer remove $i;}
add name="AlcaliAjuntamentSrvr1" instance=default remote-address=10.229.50.178 remote-as=34577 \
multihop=no route-reflect=no ttl=default in-filter=ebgp-in out-filter=ebgp-out disabled=no
:foreach i in [/ip address find address="10.229.50.177/29"] do={/ip address remove $i;}
:delay 1
/ ip address add address=10.229.50.177/29 network=10.229.50.176 broadcast=10.229.50.183 interface=ether5 disabled=no comment="AlcaliAjuntamentSrvr1"
#
# Barruko helbideen NAT-a
: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.229.50.201 comment="" disabled=no
#
# BMP bideratzea
# BGP eta OSPF iragazkiak
: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 chain=ebgp-in comment="0. Set ebgp-in preferred source." set-pref-src="10.229.50.201" disabled=no
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 set-pref-src="10.229.50.201"
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 instantziak
/ routing bgp instance
set default name="default" as=34567 router-id=10.229.50.201 \
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 bideratzea
/routing ospf instance set default name=default router-id=10.229.50.201 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 34567-AlcaliAjuntamentRd1 executed."
/