Привет, у меня проблемы с настройкой лабораторной конфигурации между двумя CHR на RouterOS 7.9. Топология такая:
LAN A -------------> Router A -----> Интернет ------> Провайдер (carrier NAT) --------> Router B ------------> LAN B
192.168.77.0/24 192.168.88.0/24
У Router A публичный IP на внешнем интерфейсе, а у Router B нет из-за carrier NAT у провайдера. Туннель, очевидно, сможет инициировать только Router B, но это нормально.
Собрал такую конфигурацию Wireguard:
Router A
/interface wireguard
add listen-port=25070 mtu=1420 name=vpn-to-b
/interface wireguard peers
add allowed-address=192.168.77.0/24 endpoint-port=25070 interface=vpn-to-b public-key="2UZ1OE9TFaS0V/shFmTPKqLLgOeJjwovZZSbdsk/PhU="
/ip address
add address=1.2.4.7/24 interface=ether1 network=1.2.4.0
add address=192.168.77.1/24 interface=ether2 network=192.168.77.0
add address=10.255.255.2/30 interface=vpn-to-b network=10.255.255.0
/ip firewall filter
add action=accept chain=forward
add action=accept chain=input
add action=accept chain=output
/ip firewall nat
add action=accept chain=srcnat dst-address=192.168.88.0/24 src-address=192.168.77.0/24
add action=masquerade chain=srcnat out-interface=ether1 src-address=192.168.77.0/24
/ip route
add distance=1 gateway=31.22.44.1
add dst-address=192.168.88.0/24 gateway=vpn-to-b
Router B
/interface wireguard
add listen-port=25070 mtu=1420 name=vpn-to-a
/interface wireguard peers
add allowed-address=192.168.88.0/24 endpoint-address=1.2.4.7 endpoint-port=25070 interface=vpn-to-a public-key="zW5HwHVFpqDwxRt1fKb/Yv+uSNKZhLXYnLm9TwwHsUA="
/ip address
add address=10.0.0.1/24 interface=ether1 network=10.0.0.0
add address=192.168.88.1/24 interface=ether2 network=192.168.88.0
add address=10.255.255.1/30 interface=vpn-to-a network=10.255.255.0
/ip firewall filter
add action=accept chain=forward
add action=accept chain=input
add action=accept chain=output
/ip firewall nat
add action=accept chain=srcnat dst-address=192.168.77.0/24 src-address=192.168.88.0/24
add action=masquerade chain=srcnat out-interface=ether1 src-address=192.168.88.0/24
/ip route
add distance=1 gateway=10.0.0.2
add dst-address=192.168.77.0/24 gateway=vpn-to-a
Ключи выглядят нормально:
Router A
[admin@A] /ip/firewall/nat> /interface wireguard print
Flags: X - отключен; R - работает
0 R name="vpn-to-b" mtu=1420 listen-port=25070 private-key="gM+uCt/2WJajqM55VwpohdZBu2VtQ/l+LIRRYHYNkE0=" public-key="zW5HwHVFpqDwxRt1fKb/Yv+uSNKZhLXYnLm9TwwHsUA="
Router B
[admin@B] /ip/firewall/nat> /interface wireguard/print
Flags: X - отключен; R - работает
0 R name="vpn-to-a" mtu=1420 listen-port=25070 private-key="cKD9fR/8bKGhunHpcsnivQFJr3ZD7DOEMgGFzqLgq2U=" public-key="2UZ1OE9TFaS0V/shFmTPKqLLgOeJjwovZZSbdsk/PhU="
По тому, что я читал, конфигурация вроде правильная, но пинги с B на A не проходят, и я не вижу пакетов между ними. Как я уже сказал, это лабораторная среда (EVE-NG), так что могу легко посмотреть трафик через Wireshark между нодами сети. Буду признателен за любую помощь, потому что пока не понимаю, в чем тут загвоздка. Спасибо!
LAN A -------------> Router A -----> Интернет ------> Провайдер (carrier NAT) --------> Router B ------------> LAN B
192.168.77.0/24 192.168.88.0/24
У Router A публичный IP на внешнем интерфейсе, а у Router B нет из-за carrier NAT у провайдера. Туннель, очевидно, сможет инициировать только Router B, но это нормально.
Собрал такую конфигурацию Wireguard:
Router A
/interface wireguard
add listen-port=25070 mtu=1420 name=vpn-to-b
/interface wireguard peers
add allowed-address=192.168.77.0/24 endpoint-port=25070 interface=vpn-to-b public-key="2UZ1OE9TFaS0V/shFmTPKqLLgOeJjwovZZSbdsk/PhU="
/ip address
add address=1.2.4.7/24 interface=ether1 network=1.2.4.0
add address=192.168.77.1/24 interface=ether2 network=192.168.77.0
add address=10.255.255.2/30 interface=vpn-to-b network=10.255.255.0
/ip firewall filter
add action=accept chain=forward
add action=accept chain=input
add action=accept chain=output
/ip firewall nat
add action=accept chain=srcnat dst-address=192.168.88.0/24 src-address=192.168.77.0/24
add action=masquerade chain=srcnat out-interface=ether1 src-address=192.168.77.0/24
/ip route
add distance=1 gateway=31.22.44.1
add dst-address=192.168.88.0/24 gateway=vpn-to-b
Router B
/interface wireguard
add listen-port=25070 mtu=1420 name=vpn-to-a
/interface wireguard peers
add allowed-address=192.168.88.0/24 endpoint-address=1.2.4.7 endpoint-port=25070 interface=vpn-to-a public-key="zW5HwHVFpqDwxRt1fKb/Yv+uSNKZhLXYnLm9TwwHsUA="
/ip address
add address=10.0.0.1/24 interface=ether1 network=10.0.0.0
add address=192.168.88.1/24 interface=ether2 network=192.168.88.0
add address=10.255.255.1/30 interface=vpn-to-a network=10.255.255.0
/ip firewall filter
add action=accept chain=forward
add action=accept chain=input
add action=accept chain=output
/ip firewall nat
add action=accept chain=srcnat dst-address=192.168.77.0/24 src-address=192.168.88.0/24
add action=masquerade chain=srcnat out-interface=ether1 src-address=192.168.88.0/24
/ip route
add distance=1 gateway=10.0.0.2
add dst-address=192.168.77.0/24 gateway=vpn-to-a
Ключи выглядят нормально:
Router A
[admin@A] /ip/firewall/nat> /interface wireguard print
Flags: X - отключен; R - работает
0 R name="vpn-to-b" mtu=1420 listen-port=25070 private-key="gM+uCt/2WJajqM55VwpohdZBu2VtQ/l+LIRRYHYNkE0=" public-key="zW5HwHVFpqDwxRt1fKb/Yv+uSNKZhLXYnLm9TwwHsUA="
Router B
[admin@B] /ip/firewall/nat> /interface wireguard/print
Flags: X - отключен; R - работает
0 R name="vpn-to-a" mtu=1420 listen-port=25070 private-key="cKD9fR/8bKGhunHpcsnivQFJr3ZD7DOEMgGFzqLgq2U=" public-key="2UZ1OE9TFaS0V/shFmTPKqLLgOeJjwovZZSbdsk/PhU="
По тому, что я читал, конфигурация вроде правильная, но пинги с B на A не проходят, и я не вижу пакетов между ними. Как я уже сказал, это лабораторная среда (EVE-NG), так что могу легко посмотреть трафик через Wireshark между нодами сети. Буду признателен за любую помощь, потому что пока не понимаю, в чем тут загвоздка. Спасибо!
