698b3200932e8269e769ebc24b1cbd67b85c0f0d
  howto/mikrotik.md
			| ... | ... | @@ -124,15 +124,15 @@ add chain=dn42-in rule="if (dst in 10.0.0.0 && dst-len > 8) { reject }" | 
| 124 | 124 |  ### BGP | 
| 125 | 125 |  Now, for actual BGP configuration. | 
| 126 | 126 | |
| 127 | +#### RoS v6 | |
| 128 | +``` | |
| 127 | 129 |  /routing bgp instance | 
| 128 | 130 |  set default disabled=yes | 
| 129 | -add as=YOUR_AS client-to-client-reflection=no name=bgp-dn42-somename out-filter=dn42-in \ | |
| 130 | -router-id=1.1.1.1 | |
| 131 | +add as=YOUR_AS client-to-client-reflection=no name=bgp-dn42-somename out-filter=dn42-in router-id=1.1.1.1 | |
| 131 | 132 |  ``` | 
| 132 | 133 |  Let's add some peers. Right now we have just one, but we still need two connections - to IPv4 and IPv6   | 
| 133 | 134 | |
| 134 | 135 |  IPv4: | 
| 135 | - | |
| 136 | 136 |  ``` | 
| 137 | 137 |  /routing bgp peer | 
| 138 | 138 |  add comment="DN42: somepeer IPv4" in-filter=dn42-in instance=bgp-dn42-somename multihop=yes \ | 
| ... | ... | @@ -150,7 +150,7 @@ remote-address=fd42:c644:5222:3222::40 remote-as=PEER_AS route-reflect=yes ttl=d | 
| 150 | 150 | |
| 151 | 151 |  Also, as a note, Mikrotik doesn't deal well with BGP running over link-local addresses (the address starting with fe80). You need to use a fd42:: address in your BGP session, otherwise, BGP will not install any received route. | 
| 152 | 152 | |
| 153 | -### BGP Advertisements | |
| 153 | +#### BGP Advertisements | |
| 154 | 154 |  You want to advertise your allocated network (most likely), it's very simple:   | 
| 155 | 155 | |
| 156 | 156 |  ``` | 
| ... | ... | @@ -159,6 +159,49 @@ add network=YOUR_ALLOCATED_SUBNET synchronize=no | 
| 159 | 159 |  ``` | 
| 160 | 160 |  You can repeat that with as much IPv4 and IPv6 networks which you own. | 
| 161 | 161 | |
| 162 | +#### RoS 7.x | |
| 163 | + | |
| 164 | +First difference from v 6.x: There is no "network" menu. We advertise our networks now by adding them to the firewall address-list and referencing in the BGP configuration. | |
| 165 | + | |
| 166 | +Adding a network list: | |
| 167 | +``` | |
| 168 | +IPv4 | |
| 169 | +/ip firewall address-list | |
| 170 | +add address=YOUR_ALLOCATED_SUBNET list=DN42_allocated_v4 | |
| 171 | + | |
| 172 | +IPv6 | |
| 173 | +/ipv6 firewall address-list | |
| 174 | +add address=YOUR_ALLOCATED_SUBNET list=DN42_allocated_v6 | |
| 175 | +``` | |
| 176 | + | |
| 177 | +Let's create a template for DN42. It isn't strictly necessary, but makes our life easier. | |
| 178 | +``` | |
| 179 | +/routing bgp template | |
| 180 | +add address=ipv4 as=YOUR_AS_NUMBER name=DN42_template_v4 router-id=1.1.1.1 | |
| 181 | +add address=ipv6 as=YOUR_AS_NUMBER name=DN42_template_v6 router-id=1.1.1.1 | |
| 182 | +``` | |
| 183 | + | |
| 184 | +Now is time to add one peer: | |
| 185 | + | |
| 186 | +Another difference from RoS v6.x is that v7.x can use link-local adresses (validated with RoS 7.14.3). The trick is to add "%INTERFACE" after the address, where "INTERFACE" is the name of the interface the link-local is allocated to - or the interface used to get to that remote link-local. So, if You want to listen on fe::1 on the "myPeer" interface, the address would be "fe::1%myPeer". You still can't set your link-local: the system will create one, based on the interface MAC address. | |
| 187 | + | |
| 188 | +``` | |
| 189 | +IPv4 peer | |
| 190 | +add address-families=ipv4 disabled=no input.filter=dn42-in \ | |
| 191 | +local.address=ADDRESS_YOUR_PEER_USE_TO_CONNECT_ON_YOU .role=ebgp \ | |
| 192 | +multihop=yes name=PEER_NAME output.filter-chain=dn42-out \ | |
| 193 | +.network=DN42_allocated_v4 remote.address=YOUR_PEER_REMOTE_ADDRESS \ | |
| 194 | +.as=PEER_AS_NUMBER routing-table=main templates=DN42_template_v4 | |
| 195 | + | |
| 196 | +IPv6 peer | |
| 197 | +add address-families=ipv6 disabled=no input.filter=dn42-in \ | |
| 198 | +local.address=ADDRESS_YOUR_PEER_USE_TO_CONNECT_ON_YOU .role=ebgp \ | |
| 199 | +multihop=yes name=PEER_NAME output.filter-chain=dn42-out \ | |
| 200 | +.network=DN42_allocated_v6 remote.address=YOUR_PEER_REMOTE_ADDRESS \ | |
| 201 | +.as=PEER_AS_NUMBER routing-table=main templates=DN42_template_v6 | |
| 202 | +``` | |
| 203 | + | |
| 204 | + | |
| 162 | 205 |  ## Split DNS | 
| 163 | 206 |  Separate dns requests for dn42 tld from your default dns traffic with L7 filter in Mikrotik. | 
| 164 | 207 |  Change network and LAN GW to mach your network configuration. |