이더넷과 WIFI/VPN을 통해 3개의 네트워크를 연결하는 방법은 무엇입니까?

이더넷과 WIFI/VPN을 통해 3개의 네트워크를 연결하는 방법은 무엇입니까?

내 로봇에는 이더넷을 통해 직접 연결된 두 대의 컴퓨터가 있습니다. "마그니"와 "제이슨"으로 알려져 있습니다. Magni가 무선 네트워크에 연결되어 있습니다. 이 무선 네트워크에는 Wireguard VPN을 통해 Magni에 연결된 세 번째 컴퓨터 "PC"가 있습니다. 내 로봇에는 이더넷을 통해 직접 연결된 두 대의 컴퓨터가 있습니다. "마그니"와 "제이슨"으로 알려져 있습니다. Magni가 무선 네트워크에 연결되어 있습니다. 이 무선 네트워크에는 Wireguard VPN을 통해 Magni에 연결된 세 번째 컴퓨터 "PC"가 있습니다.

네트워크 설정 사진

목표는 시스템의 모든 구성 요소에서 서로 메시지를 보내고 받을 수 있는 것입니다. Magni - Jetson 및 Magni - PC 쌍은 서로 핑하고 검색하고 게시할 수 있습니다. 내가 겪고 있는 문제는 내 컴퓨터와 Jetson 간의 통신입니다. IP 포워딩을 하려고 합니다. 먼저, 정적 192.168.131.1 IP에서 Magni의 VPN 10.0.0.161로 jetson의 경로를 추가했습니다. 그런 다음 jetson에서 Magni의 VPN 주소 10.0.0.161을 ping할 수 있습니다.

sudo route add -net 10.0.0.0  netmask 255.255.255.0 gw 192.168.131.1

그런 다음 내 컴퓨터에서 다음과 같은 경로를 추가해 보았습니다.

sudo route add -net 192.168.131.0  netmask 255.255.255.0 gw 10.0.0.161

그런 다음 내 컴퓨터에서 (ping을 통해) jetson과 통신을 시도합니다. 하지만 Jetson과 성공적으로 통신할 수 없습니다. 현재 설정에서는 PC에서 Jetson을 ping하려고 할 때 이 오류가 발생합니다.

PING 192.168.131.2 (10.0.0.66) 56(84) bytes of data.
From 10.0.0.66 icmp_seq=1 Destination Host Unreachable
ping: sendmsg: Required key not available

나는 또한 성공하지 못한 채 다른 경로를 시도했습니다. 네트워킹에 대한 경험이 거의 없기 때문에 누군가가 이 문제를 해결하는 방법에 대해 올바른 방향을 알려줄 수 있는지 궁금합니다.

PC의 커널 IP 라우팅 테이블

Destination   Gateway     Genmask       Flags Metric Ref    Use Iface

0.0.0.0           10.147.x.x      0.0.0.0         UG   600    0        0  wlp2s0

10.0.0.0        0.0.0.0         255.255.255.0   U     0      0        0 wg0

10.147.x.x      0.0.0.0         255.255.0.0     U     600    0        0 wlp2s0

169.xxx.x.x     0.0.0.0         255.255.0.0     U     1000   0        0 wlp2s0

192.168.131.0   10.0.0.161      255.255.255.0   UG    0      0        0 wg0

Magni의 커널 IP 라우팅 테이블

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

0.0.0.0         10.147.x.x      0.0.0.0         UG    600    0        0 wlan0

10.0.0.0        0.0.0.0         255.255.255.0   U     0      0        0 wg0

10.19.xxx.xxx   10.147.x.x      255.255.255.255 UGH   600    0        0 wlan0

10.147.x.x      0.0.0.0         255.255.0.0     U     600    0        0 wlan0

192.168.131.0   0.0.0.0         255.255.255.0   U     0      0        0 enxb827eb452fa3

Jetson의 커널 IP 라우팅 테이블

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

10.0.0.0           192.168.131.1   255.255.255.0   UG    0      0        0 eth0

169.xxx.x.x       0.0.0.0         255.255.0.0     U     1000   0        0 eth0

192.168.131.0   0.0.0.0         255.255.255.0   U     100    0        0 eth0

답변1

ping: sendmsg: Required key not availableWireGuard라는 뜻입니다.키 라우팅질문. WireGuard에서 키는 경로와 연결되며 그 반대도 마찬가지입니다. 다음은 표준 배선 외에 내부 WireGuard 배선입니다.

WireGuard의 핵심은 공개 키를 터널 내에서 허용되는 터널 IP 주소 목록과 연결하여 작동하는 암호화 키 라우팅이라는 개념입니다.

AllowedIPs이는 필수 ( wg-quick) / allowed-ips(직접 wg명령) 매개변수를 추가하지 않았음을 의미합니다 .

WG 인터페이스는 패킷을 보내려고 할 때 대상 IP를 공개 키와 일치시켜 AllowedIPs이 키를 사용하여 암호화할 수 있습니다. WG 인터페이스는 패킷을 수신하면 피어의 공개 키를 사용하여 소스 IP를 확인합니다 AllowedIPs. 이 값은 양방향으로 사용됩니다.

이 문제를 해결하려면 PC의 wg-quick 구성에서 관련 Magni Peer 공개 키 항목 아래에 구성을 추가하고 터널을 다시 시작하십시오.

AllowedIPs = 192.168.131.0/24

실제로 이 특정한 경우에는 AllowedIPs = 192.168.131.1,192.168.131.2이것으로 충분합니다 .

이미 PC에서 Magni(192.168.131.1)를 ping할 수 있다면 Magni가 라우터로 설정되어 있다는 가정 하에 충분할 것입니다.


또는 다른 WireGuard 피어인 Magni에서도 동일한 작업을 수행할 수 있습니다. PC와 일치하도록 PC의 피어 공개 키 항목에서 동일한 작업을 수행합니다.

AllowedIPs = 10.0.0.0/24

이번에도 AllowedIPs = 10.0.0.66PC에 연결하는 것만으로도 충분합니다.

wg이 작업은 즉각적인(저장 대신) 효과 없이 명령을 사용하여 직접 수행할 수 있습니다 (예를 들어, ukFU7nbX5NoEJTLb5rizqcfB093fv8VfuLFA57q3oG4=여기에서는 무작위로 생성된 피어 공개 키 값이 사용됩니다. PC의 공개 키로 변경하십시오).

wg set wg0 peer ukFU7nbX5NoEJTLb5rizqcfB093fv8VfuLFA57q3oG4= allowed-ips 10.0.0.0/24

관련 정보