Привет всем, у меня MT-маршрутизатор в дата-центре хостинга, и по умолчанию они выделяют мне /32 адрес (длинная история, но так сложилось!). Давайте предположим, что мой MT IP — 20.1.1.1/32, а IP следующего хопа — 40.2.2.254 с MAC-адресом 00:11:22:33:44:55. Их стандартная конфигурация для RedHat выглядит так (они не поддерживают Mikrotik "из коробки", поэтому приходится импровизировать): /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
IPV6INIT=no
PEERDNS=yes
TYPE=Ethernet
NETMASK=255.255.255.255
IPADDR=20.1.1.1
GATEWAY=40.2.2.254
ARP=yes
HWADDR=<whatever>
/etc/sysconfig/network-scripts/route-eth0
40.2.2.254 dev eth0
default via 40.2.2.254 dev eth0 … что, по сути, означает - proxy ARP для следующего хопа 40.2.2.254 через eth0, а затем добавляем маршрут по умолчанию через этот хост/MAC. Так я настроил то, что, как мне кажется, эквивалентно в MT: /ip route add dst-address=40.2.2.254 gateway=ether1
/ip route add dst-address=0.0.0.0/0 gateway=40.2.2.254 Но это не работает. Маршрут по умолчанию показывает, что 40.2.2.254 недоступен, хотя он и есть: [admin@MT-FR-01] /ip route> print
Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, B - blackhole, U - unreachable, P - prohibit
# DST-ADDRESS PREF-SRC GATEWAY DISTANCE
0 S 0.0.0.0/0 40.2.2.254 1
1 ADC 20.1.1.1/32 20.1.1.1 ether1 0
2 A S 40.2.2.254/32 ether1 1 [admin@MT-FR-01] /ip route> print detail
Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, B - blackhole, U - unreachable, P - prohibit
0 S dst-address=0.0.0.0/0 gateway=40.2.2.254 gateway-status=40.2.2.254 unreachable distance=1 scope=30 target-scope=10
1 ADC dst-address=20.1.1.1/32 pref-src=20.1.1.1 gateway=ether1 gateway-status=ether1 reachable distance=0 scope=10
2 A S dst-address=40.2.2.254/32 gateway=ether1 gateway-status=ether1 reachable distance=1 scope=30 target-scope=10 [admin@MT-FR-01] /ip route> /ping 40.2.2.254
HOST SIZE TTL TIME STATUS
40.2.2.254 56 255 44ms
40.2.2.254 56 255 1ms
40.2.2.254 56 255 2ms
sent=3 received=3 packet-loss=0% min-rtt=1ms avg-rtt=15ms max-rtt=44ms Если я просто добавлю маршрут по умолчанию через gateway=ether1, то это будет работать. Но, как и ожидалось, мы используем proxy ARP для каждого IP-адреса. Это не очень хорошо - заполняет таблицу ARP, и хостинг-провайдеру это тоже не нравится. Ниже вывод ARP после добавления gateway=ether1 и использования proxy ARP: [admin@MT-FR-01] /ip route> /ip arp print
Flags: X - disabled, I - invalid, H - DHCP, D - dynamic
# ADDRESS MAC-ADDRESS INTERFACE
0 D 129.82.138.38 00:11:22:33:44:55 ether1
1 D 78.159.107.102 00:11:22:33:44:55 ether1
2 D 2.51.47.253 00:11:22:33:44:55 ether1
3 D 40.2.2.254 00:11:22:33:44:55 ether1
4 D 194.164.127.4 00:11:22:33:44:55 ether1 Кто-нибудь имеет какие-нибудь мысли о том, как настроить IP-адрес следующего хопа, который не находится в непосредственно подключенном подсегменте? Я также пытался создать статическую запись ARP, на случай если это поможет, но это не помогло.
С уважением, Rich
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
IPV6INIT=no
PEERDNS=yes
TYPE=Ethernet
NETMASK=255.255.255.255
IPADDR=20.1.1.1
GATEWAY=40.2.2.254
ARP=yes
HWADDR=<whatever>
/etc/sysconfig/network-scripts/route-eth0
40.2.2.254 dev eth0
default via 40.2.2.254 dev eth0 … что, по сути, означает - proxy ARP для следующего хопа 40.2.2.254 через eth0, а затем добавляем маршрут по умолчанию через этот хост/MAC. Так я настроил то, что, как мне кажется, эквивалентно в MT: /ip route add dst-address=40.2.2.254 gateway=ether1
/ip route add dst-address=0.0.0.0/0 gateway=40.2.2.254 Но это не работает. Маршрут по умолчанию показывает, что 40.2.2.254 недоступен, хотя он и есть: [admin@MT-FR-01] /ip route> print
Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, B - blackhole, U - unreachable, P - prohibit
# DST-ADDRESS PREF-SRC GATEWAY DISTANCE
0 S 0.0.0.0/0 40.2.2.254 1
1 ADC 20.1.1.1/32 20.1.1.1 ether1 0
2 A S 40.2.2.254/32 ether1 1 [admin@MT-FR-01] /ip route> print detail
Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, B - blackhole, U - unreachable, P - prohibit
0 S dst-address=0.0.0.0/0 gateway=40.2.2.254 gateway-status=40.2.2.254 unreachable distance=1 scope=30 target-scope=10
1 ADC dst-address=20.1.1.1/32 pref-src=20.1.1.1 gateway=ether1 gateway-status=ether1 reachable distance=0 scope=10
2 A S dst-address=40.2.2.254/32 gateway=ether1 gateway-status=ether1 reachable distance=1 scope=30 target-scope=10 [admin@MT-FR-01] /ip route> /ping 40.2.2.254
HOST SIZE TTL TIME STATUS
40.2.2.254 56 255 44ms
40.2.2.254 56 255 1ms
40.2.2.254 56 255 2ms
sent=3 received=3 packet-loss=0% min-rtt=1ms avg-rtt=15ms max-rtt=44ms Если я просто добавлю маршрут по умолчанию через gateway=ether1, то это будет работать. Но, как и ожидалось, мы используем proxy ARP для каждого IP-адреса. Это не очень хорошо - заполняет таблицу ARP, и хостинг-провайдеру это тоже не нравится. Ниже вывод ARP после добавления gateway=ether1 и использования proxy ARP: [admin@MT-FR-01] /ip route> /ip arp print
Flags: X - disabled, I - invalid, H - DHCP, D - dynamic
# ADDRESS MAC-ADDRESS INTERFACE
0 D 129.82.138.38 00:11:22:33:44:55 ether1
1 D 78.159.107.102 00:11:22:33:44:55 ether1
2 D 2.51.47.253 00:11:22:33:44:55 ether1
3 D 40.2.2.254 00:11:22:33:44:55 ether1
4 D 194.164.127.4 00:11:22:33:44:55 ether1 Кто-нибудь имеет какие-нибудь мысли о том, как настроить IP-адрес следующего хопа, который не находится в непосредственно подключенном подсегменте? Я также пытался создать статическую запись ARP, на случай если это поможет, но это не помогло.
С уважением, Rich
