Korzystanie z WireGuard z ochroną dostępu do stron internetowych
Problem
Załóżmy, że ochrona dostępu do stron internetowych jest połączona z WireGuard przy użyciu wg-quick z wiersza polecenia lub jako usługi. W takim przypadku połączenie internetowe może zostać utracone, gdy włączone są interfejsy ochrony dostępu do stron internetowych i WireGuard. Jest to spowodowane regułą dodaną do nftables przez wg-quick, gdy wywoływany jest interfejs. Załóżmy, że interfejs to wg0 z adresem IP 10.10.10.2. Reguła jest dodawana do tabeli wg-quick-wg0, chain preraw i wygląda tak:
iifname != "wg0" ip daddr 10.10.10.2 fib saddr type != local drop |
Celem tej reguły jest zapewnienie pewnej ochrony przed problemami z konfiguracją i szkodliwymi pakietami.
Obejście
W poprawnie skonfigurowanym i zabezpieczonym systemie reguła nftables nie powinna być konieczna. Skonfigurowanie wg-quick tak, aby nie pozostawiać tej reguły, powinno rozwiązać problemy z połączeniem. Na przykład można edytować plik konfiguracyjny dla interfejsu, którego dotyczy problem, i w sekcji [Interfejs] dodać następującą akcję PostUp:
PostUp = nft flush chain wg-quick-wg0 preraw |
Należy pamiętać, że nazwa wg-quick-wg0 dotyczy tylko interfejsu “wg0” i należy ją odpowiednio zmienić dla innych interfejsów. Jeśli nadal chcesz uzyskać pewien poziom ochrony, możesz zastąpić regułę słabszą, na przykład taką:
PostUp = nft flush chain wg-quick-wg0 preraw; nft 'add rule wg-quick-wg0 preraw iifname != "wg0" iif != "lo" ip daddr 10.10.10.2 fib saddr type != local drop' |
Pamiętaj, że wszystkie wzmianki o „wg0” należy zaktualizować, jeśli interfejs nie jest interfejsem „wg0”. Ponadto konieczna jest aktualizacja adresu IP, jeśli to nie adres 10.10.10.2.