라즈베리파이를 와이어가드 서버로 사용하려고 합니다.
이더넷 케이블을 통해 라즈베리 파이를 라우터에 연결할 때 라우터는 파이를 IP에 할당합니다.192.168.1.35
나는 다음을 실행하여 파이가 인터넷에 접속하고 있음을 확인했습니다.평평한www.startpage.comSSH를 통해 파이에 연결할 때
그런데 일단 달려보니wg-빠른 시작 wg0파이에서 나는 모든 인터넷 접속을 잃었습니다. SSH를 통한 핑이 더 이상 작동하지 않습니다.
인터넷 액세스를 다시 얻으려면 실행해야 했습니다.wg-빠른 드롭 wg0
Wireguard가 내 인터넷을 중단시키기 위해 뭔가를 하고 있습니다.
내 Raspberry Pi 라인배커 구성 파일
sudo nano /etc/wireguard/wg0.conf
[Interface]
PrivateKey = PI_PRIVATE_KEY
Address = 192.168.1.100
ListenPort = 51820
[Peer]
PublicKey = CLIENT_PUBLIC_KEY
AllowedIPs = 0.0.0.0/0, ::0
클라이언트 구성 파일
sudo nano /etc/wireguard/wg0.conf
[Interface]
PrivateKey = CLIENT_PRIVATE_KEY
Address = 192.168.1.101/24
[Peer]
PublicKey = PI_PUBLIC_KEY
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = PI/ROUTER_PUBLIC_IP:51820
참고: 다른 결과를 테스트하기 위해 두 구성에서 AllowedIPs 설정을 여러 번 변경했습니다. 내 Pi의 wg-quick up wg0은 여전히 내 pi를 통해 인터넷을 중단하지만 인터넷은 제대로 실행됩니다.
나는 알아차렸다wg-빠른 시작 wg0내 nft 규칙 세트를 수정하는 동안위로
sudo nft list ruleset
table ip wg-quick-wg0 {
chain preraw {
type filter hook prerouting priority raw; policy accept;
iifname != "wg0" ip daddr 192.168.2.100 fib saddr type != local drop
}
chain premangle {
type filter hook prerouting priority mangle; policy accept;
meta l4proto udp meta mark set ct mark
}
chain postmangle {
type filter hook postrouting priority mangle; policy accept;
meta l4proto udp meta mark 0x0000ca6c ct mark set meta mark
}
}
wg0 인터페이스가 다운되면 이러한 규칙이 존재하지 않으므로 이러한 규칙의 무언가가 pi 내의 인터넷 액세스를 차단할 수 있습니다.
문제 제거
- 192.168.1.100은 라우터의 다른 장치에서 사용되지 않습니다.
- 주석 해제net.ipv4.ip_forward=1존재하다/etc/sysctl.conf차이점은 없습니다. 정확한 문제는 여전히 동일합니다.네트워크 접속ip4 댓글을 달거나 wg0의 댓글을 삭제하세요. 아니요네트워크 접속ip4 댓글을 달거나 wg0의 주석을 해제하세요.
- 이 단계에서 wireguard 클라이언트는 관련이 없습니다.
- 이 문제는 오류가 발생하므로 wireguard 개인/공개 키와는 아무런 관련이 없습니다.
답변1
Wireguard 인터페이스가 시작되면 VPN을 통해 모든 것을 전송하도록 정의됩니다.
AllowedIPs = 0.0.0.0/0, ::/0
이는 전형적인고객구성이 서버 구성에 적합하지 않은 것은 거의 확실합니다.
대신 클라이언트가 연결 후 자체적으로 사용하는 (소형) 서브넷을 선언해야 합니다. 예를 들어,
192.168.0.2/32
네트워크 주소가 다른 곳에서 사용 중인 서브넷의 일부가 아닌지 확인하세요.