나는 항상 내 라즈베리 파이에 연결하기 위해 PiVPN을 사용하여 내 노트북(Fedora 또는 Manjaro 실행)을 연결하려고 합니다. IP 테이블과 포트 포워딩을 설정했습니다.
10.6.0.1에서는 Pi에 액세스할 수 있지만 일반 서브넷 192.168.0.0/24에서는 액세스할 수 없습니다. 내 전화기에서는 다른 네트워크에서 로컬 LAN에 액세스할 수 있지만 랩탑에서는 액세스할 수 없습니다.
PiVPN에서 wg0.confwireguard 파일을 생성하여 /etc/wireguard 아래에 배치했습니다. 작동 중입니다. 하지만 LAN에 접속할 수 없습니다. Pi를 통해 모든 트래픽을 라우팅해야 합니다.
허용된 IP에 더 많은 것을 추가하려고 시도했지만 그것도 도움이 되지 않았습니다. 또한 conf 파일에 IP 테이블을 추가했습니다. 운영 체제나 Wireguard에 문제가 있습니까?
WireGuard를 통해 연결된 경우 다른 네트워크에서 10.6.0.1(PI)을 ping할 수도 있지만 196.168.178.35(LAN PI)를 ping하려고 하면 호스트에 연결할 수 없다는 메시지가 나타납니다.
Conf 파일: Pi 서버:
[Interface]
PrivateKey = <private>
Address = 10.6.0.1/24
MTU = 1420
ListenPort = <port>
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
[Peer]
PublicKey = <pubkey>
PresharedKey = <presharedkey>
AllowedIPs = 10.6.0.4/32
고객:
[Interface]
PrivateKey = <privatekey>
Address = 10.6.0.4/24
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
DNS = 10.6.0.1
[Peer]
PublicKey = <publickey>
PresharedKey = <sharedkey>
Endpoint = <my-external-ip>:<port>
AllowedIPs = 0.0.0.0/0
PersistentKeepalive=30
답변1
AllowedIPs = 0.0.0.0/0
클라이언트 WireGuard 구성에서는 명시적인 경로가 없는 모든 트래픽이 해당 WireGuard 피어를 통해 전송된다는 의미입니다. 따라서 Pi의 LAN 주소(또는 Pi의 서브넷)에 대한 명시적인 경로를 추가해야 할 수도 있습니다.
노트북에서 다음 명령을 실행하세요.
$ ip route
출력은 다음과 같습니다.
default via 192.168.0.1 dev eth0 proto dhcp metric 100
10.6.0.0/24 dev wg0 scope link
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.123 metric 100
Pi의 LAN 주소에 대한 경로가 표시되지 않으면 이를 추가하고 다음과 같이 노트북의 기본 게이트웨이를 통해 경로를 지정하십시오.
$ sudo ip route add 192.168.178.0/24 via 192.168.0.1 dev eth0
관련 없음: iptables에 나열된 PostUp/PostDown 규칙을 제거할 수 있습니다.고객WireGuard 구성은 사용자를 위해 아무 작업도 수행하지 않습니다(이 규칙은 패킷을 다른 호스트로 전달하는 서버에만 적용되므로 Pi 서버 구성에 해당 규칙이 있는 것입니다).