내 인터넷 서비스 제공업체의 라우터에 고정 경로를 추가해야 합니다. 안타깝게도 이 라우터는 최종 사용자에게 이러한 수정 옵션을 제공하지 않습니다.
정적 라우팅이 필요한 이유는 해당 LAN의 클라이언트가 Wireguard를 통해 연결된 원격 LAN으로 패킷을 보내는 방법을 알 수 있기 때문입니다.
그래서 내 해결책은 Wireguard 터널을 제공하기 위해 Raspberry Pi에 두 번째 DHCP 서버를 설정하는 것이었습니다. DHCP 서버를 인증되지 않은 서버로 설정하고 하드코딩된 MAC 주소를 구성에 추가하여 해당 클라이언트에만 IP를 제공하도록 했습니다.
이제 클라이언트가 두 번째 DHCP 서버에서 IP를 가져오면 해당 서버에서 기본 게이트웨이도 가져올 수 있습니다. DHCP 서버에 대해 이것을 설정할 수 있습니다.
ISP 라우터 대신 Raspberry Pi를 기본 게이트웨이로 설정하는 것이 맞나요?(이것은 Pi에서 DHCP를 받는 클라이언트에만 영향을 미칩니다.)
그런 다음 특정 원격 LAN에 대한 경로를 Wireguard 터널에 추가할 수 있습니다. 기본 경로는 인터넷의 게이트웨이인 인터넷 서비스 제공업체로 이동합니다.
그게 효과가 있을까요?
답변1
내 질문에 대한 의견에서는 첫 번째 DHCP 서버를 비활성화하는 것이 유효한 접근 방식일 수 있다고 제안합니다. 그러나 지금까지는 두 번째 서버가 신뢰할 수 없고 범위가 분리되어 있기 때문에 두 서버를 실행하는 데 아무런 문제가 없는 것 같습니다. 지금까지 그는 두 개의 테스트 클라이언트에 두 개의 IP를 제공하는 것 같습니다. (문제가 발견되면 답변을 편집할 수 있습니다.)
또한: ISP의 라우터 local DHCPv4
서버를 고정 IP로 전환하면 off
전원이 켜진 것처럼 보입니다. non-authorative
전원을 끈 후에도 GUI에서 주소를 편집할 수 있기 때문입니다. MAC
그래서 local
'지역적 책임'을 나타내는 것 같습니다.
첫 번째 DHCP 서버를 비활성화할 수 있더라도 여전히 다음과 같이 끝납니다.
내 클라이언트가 내 DHCP 서버로부터 터널에 대한 경로를 받지 못합니다. 이는 고정 경로를 배포하도록 DHCP 서버를 구성하여 수행할 수 있습니다.
참고: 기본 게이트웨이를 다른 고정 경로로 정의하지 않는 한 더 이상 기본 게이트웨이를 배포하지 않습니다.https://ral-arturo.org/2018/09/12/dhcp-static-route.html
따라서 내 문제에 대한 해결책은 두 번째(기본) 게이트웨이를 설정하는 것이 아니라 내 클라이언트가 필요로 하는 경로를 배포하도록 DHCP를 구성하는 것입니다.
내 /etc/dhcp/dhcpd.conf
모습은 다음과 같습니다.
#authoritative;
default-lease-time 86400;
max-lease-time 86400;
option rfc3442-classless-static-routes code 121 = array of integer 8;
option ms-classless-static-routes code 249 = array of integer 8;
subnet 192.168.111.0 netmask 255.255.255.0 {
range 192.168.111.223 192.168.111.254;
option routers 192.168.111.1;
#deny unkown-clients;
option domain-name-servers 192.168.111.1;
option domain-name "local";
option rfc3442-classless-static-routes 24, 192, 168, 1, 192, 168, 111, 222;
option ms-classless-static-routes 24, 192, 168, 1, 192, 168, 111, 222;
}
host squeezeboxtest {
hardware ethernet 00:04:20:5f:55:8e;
fixed-address 192.168.111.231;
option host-name "squeezeboxtest";
}
host asusklein {
hardware ethernet 04:e6:76:5d:cf:a6;
fixed-address 192.168.111.232;
option host-name "asusklein";
}
host HAPZE {
hardware ethernet fc:f1:52:fc:a6:60;
fixed-address 192.168.111.21;
option host-name "Sony HAP-ZE";
}
다음 명령을 사용하여 서버를 다시 시작할 수 있습니다
sudo systemctl restart isc-dhcp-server
참고: 라인을 추가하여 클라이언트가 두 번째 DHCP 서버에서 IP를 얻지 못하도록 제한할 수 있습니다 deny unkown-clients;
.