Назад | Перейти на главную страницу

Пинг невозможен в локальной подсети

Привет, друзья. В настоящее время у меня есть устройство OpenWRT, работающее как мост LAN-WIFI, подключенное к другой сети Wi-Fi, чтобы обеспечить подключение к Интернету для моих устройств LAN. Так что все в порядке. Но я хочу установить пользовательские маршруты через vpn-устройство vg0, и это не работает для подключенных сетевых устройств. Это работает только тогда, когда я пытаюсь пропинговать удаленную сеть внутри консоли OpenWRT SSH.

При попытке выполнить эхо-запрос в части «LAN» этой сети я получаю следующее сообщение:

ping: socket: Operation not permitted

Я хочу направить ВЕСЬ трафик через интерфейс wg0, 10.0.0.2, который отлично работает внутри консоли OpenWRT, но не для подключенных устройств. Есть идеи в этом случае? Может ли релейный мост между eth0 (LAN) и wwan0 (WiFI Radio) вызвать эти проблемы?

Чтобы предоставить максимум информации, я получил несколько логов.

Для объяснения: у меня дома есть сеть с подсетью 192.168.2.0 и удаленная сеть OpenWRT с подсетью 192.168.1.0.

Само соединение Wireguard работает, я могу пинговать обе сети с обеих сторон, но только часть LAN сети OpenWRT, похоже, как бы отделена от всего остального.

экспортная сеть uci

package network

config interface 'loopback'
    option ifname 'lo'
    option proto 'static'
    option ipaddr '127.0.0.1'
    option netmask '255.0.0.0'

config globals 'globals'
    option ula_prefix 'fd1b:c1e2:8857::/48'

config interface 'lan'
    option type 'bridge'
    option ifname 'eth0.1'
    option proto 'static'
    option netmask '255.255.255.0'
    option ip6assign '60'
    option ipaddr '192.168.1.1'

config interface 'wan'
    option ifname 'eth0.2'
    option proto 'dhcp'

config interface 'wan6'
    option ifname 'eth0.2'
    option proto 'dhcpv6'

config switch
    option name 'switch0'
    option reset '1'
    option enable_vlan '1'

config switch_vlan
    option device 'switch0'
    option vlan '1'
    option ports '4 0 1 2 8t'

config switch_vlan
    option device 'switch0'
    option vlan '2'
    option ports '3 8t'

config interface 'wg0'
    option proto 'wireguard'
    option private_key ''
    option listen_port '5555'
    list addresses '10.0.0.2/24'

config wireguard_wg0
    option public_key ''
    option description 'Unix-Supremacy'
    option persistent_keepalive '30'
    option endpoint_host 'unix-supremacy.org'
    option endpoint_port '5555'
    list allowed_ips '10.0.0.1/32'
    list allowed_ips '192.168.2.0/24'

config interface 'wwan'
    option proto 'dhcp'

config interface 'br0'
    option proto 'relay'
    list network 'lan'
    list network 'wwan'

config route
    option target '192.168.2.0/24'
    option gateway '10.0.0.1'
    option netmask '255.255.255.0'
    option interface 'lan'
    option onlink '1'

брандмауэр экспорта uci

package firewall

config defaults
    option syn_flood '1'
    option input 'ACCEPT'
    option output 'ACCEPT'
    option forward 'REJECT'

config zone 'lan'
    option name 'lan'
    option input 'ACCEPT'
    option output 'ACCEPT'
    option forward 'ACCEPT'
    option network 'br0 br0 wg0 lan'

config zone 'wan'
    option name 'wan'
    option input 'REJECT'
    option output 'ACCEPT'
    option forward 'REJECT'
    option masq '1'
    option mtu_fix '1'
    option network 'wan wan6'

config forwarding 'lan_wan'
    option src 'lan'
    option dest 'wan'

config rule
    option name 'Allow-DHCP-Renew'
    option src 'wan'
    option proto 'udp'
    option dest_port '68'
    option target 'ACCEPT'
    option family 'ipv4'

config rule
    option name 'Allow-Ping'
    option src 'wan'
    option proto 'icmp'
    option icmp_type 'echo-request'
    option family 'ipv4'
    option target 'ACCEPT'

config rule
    option name 'Allow-IGMP'
    option src 'wan'
    option proto 'igmp'
    option family 'ipv4'
    option target 'ACCEPT'

config rule
    option name 'Allow-DHCPv6'
    option src 'wan'
    option proto 'udp'
    option src_ip 'fc00::/6'
    option dest_ip 'fc00::/6'
    option dest_port '546'
    option family 'ipv6'
    option target 'ACCEPT'

config rule
    option name 'Allow-MLD'
    option src 'wan'
    option proto 'icmp'
    option src_ip 'fe80::/10'
    list icmp_type '130/0'
    list icmp_type '131/0'
    list icmp_type '132/0'
    list icmp_type '143/0'
    option family 'ipv6'
    option target 'ACCEPT'

config rule
    option name 'Allow-ICMPv6-Input'
    option src 'wan'
    option proto 'icmp'
    list icmp_type 'echo-request'
    list icmp_type 'echo-reply'
    list icmp_type 'destination-unreachable'
    list icmp_type 'packet-too-big'
    list icmp_type 'time-exceeded'
    list icmp_type 'bad-header'
    list icmp_type 'unknown-header-type'
    list icmp_type 'router-solicitation'
    list icmp_type 'neighbour-solicitation'
    list icmp_type 'router-advertisement'
    list icmp_type 'neighbour-advertisement'
    option limit '1000/sec'
    option family 'ipv6'
    option target 'ACCEPT'

config rule
    option name 'Allow-ICMPv6-Forward'
    option src 'wan'
    option dest '*'
    option proto 'icmp'
    list icmp_type 'echo-request'
    list icmp_type 'echo-reply'
    list icmp_type 'destination-unreachable'
    list icmp_type 'packet-too-big'
    list icmp_type 'time-exceeded'
    list icmp_type 'bad-header'
    list icmp_type 'unknown-header-type'
    option limit '1000/sec'
    option family 'ipv6'
    option target 'ACCEPT'

config rule
    option name 'Allow-IPSec-ESP'
    option src 'wan'
    option dest 'lan'
    option proto 'esp'
    option target 'ACCEPT'

config rule
    option name 'Allow-ISAKMP'
    option src 'wan'
    option dest 'lan'
    option dest_port '500'
    option proto 'udp'
    option target 'ACCEPT'

config include
    option path '/etc/firewall.user'

config rule 'wg'
    option name 'Allow-WireGuard'
    option src 'wan'
    option proto 'udp'
    option target 'ACCEPT'

config redirect
    option dest_port '5555'
    option src 'wan'
    option name 'WireGuard'
    option src_dport '5555'
    option target 'DNAT'
    option dest_ip '192.168.1.1'
    option dest 'lan'
    list proto 'udp'

config zone
    option name 'Wireguard'
    option input 'ACCEPT'
    option forward 'ACCEPT'
    option output 'ACCEPT'
    option masq '1'
    option network 'Wireguard wwan'

config forwarding
    option dest 'lan'
    option src 'Wireguard'

config forwarding
    option dest 'wan'
    option src 'Wireguard'

config forwarding
    option dest 'Wireguard'
    option src 'lan'

config forwarding
    option dest 'Wireguard'
    option src 'wan'

ip -4 адрес

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
5: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    inet 192.168.1.1/24 brd 192.168.1.255 scope global br-lan
       valid_lft forever preferred_lft forever
9: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    inet 192.168.43.133/24 brd 192.168.43.255 scope global wlan0
       valid_lft forever preferred_lft forever
13: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000
    inet 10.0.0.2/24 brd 10.0.0.255 scope global wg0
       valid_lft forever preferred_lft forever

ip -4 ru

0:  from all lookup local
2:  from all iif lo lookup 1
2:  from all iif wlan0 lookup 16800
2:  from all iif br-lan lookup 16801
32766:  from all lookup main
32767:  from all lookup default

ip -4 ro ls tab all

192.168.1.179 dev br-lan table 16800 scope link 
192.168.43.1 dev wlan0 table 16801 scope link 
default via 192.168.43.1 dev wlan0 proto static src 192.168.43.133 
10.0.0.0/24 dev wg0 proto kernel scope link src 10.0.0.2 
78.35.90.26 via 192.168.43.1 dev wlan0 proto static 
85.197.43.22 via 192.168.43.1 dev wlan0 proto static 
192.168.1.0/24 dev br-lan proto kernel scope link src 192.168.1.1 
192.168.2.0/24 via 10.0.0.1 dev wg0 
192.168.43.0/24 dev wlan0 proto kernel scope link src 192.168.43.133 
broadcast 10.0.0.0 dev wg0 table local proto kernel scope link src 10.0.0.2 
local 10.0.0.2 dev wg0 table local proto kernel scope host src 10.0.0.2 
broadcast 10.0.0.255 dev wg0 table local proto kernel scope link src 10.0.0.2 
broadcast 127.0.0.0 dev lo table local proto kernel scope link src 127.0.0.1 
local 127.0.0.0/8 dev lo table local proto kernel scope host src 127.0.0.1 
local 127.0.0.1 dev lo table local proto kernel scope host src 127.0.0.1 
broadcast 127.255.255.255 dev lo table local proto kernel scope link src 127.0.0.1 
broadcast 192.168.1.0 dev br-lan table local proto kernel scope link src 192.168.1.1 
local 192.168.1.1 dev br-lan table local proto kernel scope host src 192.168.1.1 
broadcast 192.168.1.255 dev br-lan table local proto kernel scope link src 192.168.1.1 
broadcast 192.168.43.0 dev wlan0 table local proto kernel scope link src 192.168.43.133 
local 192.168.43.133 dev wlan0 table local proto kernel scope host src 192.168.43.133 
broadcast 192.168.43.255 dev wlan0 table local proto kernel scope link src 192.168.43.133

Все журналы взяты с самого устройства OpenWRT, где все работает нормально. Как я могу узнать, в чем проблема, и почему пинг не разрешен? Я хочу пропинговать удаленную сеть 192.168.2.0 с моих сетевых устройств, используя маршрут.

При привязке статического маршрута к разным интерфейсам результат будет совершенно другим.

chairman@workstation:~$ traceroute 10.0.0.2
traceroute to 10.0.0.2 (10.0.0.2), 30 hops max, 60 byte packets
 1  10.0.0.2 (10.0.0.2)  0.350 ms  0.429 ms  0.516 ms
chairman@workstation:~$ traceroute 10.0.0.1
traceroute to 10.0.0.1 (10.0.0.1), 30 hops max, 60 byte packets
 1  OpenWrt.lan (192.168.1.1)  0.401 ms  0.503 ms  0.598 ms
 2  10.0.0.1 (10.0.0.1)  1092.023 ms  1092.321 ms  1093.039 ms
chairman@workstation:~$ traceroute 192.168.2.1
traceroute to 192.168.2.1 (192.168.2.1), 30 hops max, 60 byte packets
 1  OpenWrt.lan (192.168.1.1)  0.430 ms  0.491 ms  0.550 ms
 2  OpenWrt.lan (192.168.1.1)  3142.422 ms !H  3142.460 ms !H  3142.507 ms !H

Привязать к локальному eth0 (lan)

chairman@workstation:~$ traceroute 192.168.2.47
traceroute to 192.168.2.47 (192.168.2.47), 30 hops max, 60 byte packets
 1  OpenWrt.lan (192.168.1.1)  0.408 ms  0.456 ms  0.528 ms
 2  192.168.43.133 (192.168.43.133)  3144.898 ms !H  3144.902 ms !H  3144.975 ms !H

Привязать к LAN-WIFI мосту br0

chairman@workstation:~$ traceroute 192.168.2.47
traceroute to 192.168.2.47 (192.168.2.47), 30 hops max, 60 byte packets
 1  OpenWrt.lan (192.168.1.1)  0.370 ms  0.447 ms  0.506 ms
 2  * * 192.168.43.1 (192.168.43.1)  10.383 ms
 3  * * *
 4  * * *
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *

Привязать к wg0

traceroute 192.168.2.1
traceroute to 192.168.2.1 (192.168.2.1), 30 hops max, 60 byte packets
 1  OpenWrt.lan (192.168.1.1)  0.321 ms  0.426 ms  0.483 ms
 2  10.0.0.1 (10.0.0.1)  1534.243 ms  1543.417 ms  1544.590 ms
 3  192.168.2.1 (192.168.2.1)  1543.647 ms  1544.013 ms  1545.247 ms