У меня проблема с настройкой проводной защиты. После настройки я могу подключиться к своему устройству. Рукопожатие в порядке, но я не могу получить доступ к Интернету и локальной сети.
Устройство : raspberry pi 4b 8gb ram OS : сервер Ubuntu ARM x64 20.04 LTS
Содержание моего файла wg0.conf
[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = (hidden)
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
[Peer]
PublicKey = oqL4CC4Y572iOvVtpDbASiajjgJPAjJhDODffMezcxA=
PresharedKey = (hidden)
AllowedIPs = 10.0.0.2/32
[Peer]
PublicKey = a6z779DYdezo/TMLbC7AJuenHpseaIqUr/gRx97D4Rw=
PresharedKey = (hidden)
AllowedIPs = 10.0.0.3/32
[Peer]
PublicKey = Fe4Nv3Ef8T5bc1p7sDCfNkLO/pTv5cIgHMJ0XCMa8Gg=
PresharedKey = (hidden)
AllowedIPs = 10.0.0.4/32
[Peer]
PublicKey = IdKkIYDctdHYwMx+ULlgntVllaBkIP8G8eIRxEQ9QWQ=
PresharedKey = (hidden)
AllowedIPs = 10.0.0.5/32
[Peer]
PublicKey = qdpWjwlnUuwVxqKnCfta+W/B4XyxZT868aOPtmSOek8=
PresharedKey = (hidden)
AllowedIPs = 10.0.0.6/32
Первый файл конфигурации клиента:
[Interface]
Address = 10.0.0.2/24
ListenPort = 51820
PrivateKey = OPgCJeBSPevFR+oleTbDqVCNyn+7G0mhSA0QRHqnklg=
[Peer]
PublicKey = W6B77KxgOpshDLX7gc0Jz10Z/WfUl4zVCLrIL/luoR4=
PresharedKey = tI3YFvK195G257yQBAYx+bS9S1j2qkZZOgsdoN3/yPI=
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = {my_external_ip_address}:51820
Мое объяснение настройки маршрутизатора. У меня есть устройство UPC Connect Box с IP-адресом: 192.168.0.1. UPC Connect Box - это мой шлюз. К этому UPC Connect Box я подключил другой маршрутизатор. IP-адрес: 192.168.1.1. Я могу получить доступ к другим подсетям со всех моих маршрутизаторов. Я также могу получить доступ ко всем компьютерам в моей локальной сети в любой подсети. Я также могу получить доступ ко всему в моей сети и подсети с устройства, на котором установлена защита от проводов, но это не работает, когда я подключен как клиент.
Переадресация портов настроена правильно на моем блоке подключения upc с портом 51820 на другой маршрутизатор 192.168.1.1 и с этого устройства на мое устройство raspberry pi ubuntu с внутренним IP-адресом: 192.168.1.12.
Что я сделал? Разрешил переадресацию порта ipv4 с использованием:
sudo sysctl -w net.ipv4.ip_forward=1
Также сделал:
sudo ufw allow 51820/tcp
sudo ufw allow 51820/udp
sudo ufw allow in on wg0 to any
sudo ufw allow out on wg0 to any
статус ufw:
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
51820 ALLOW Anywhere
51820/tcp ALLOW Anywhere
51820/udp ALLOW Anywhere
OpenSSH ALLOW Anywhere
51821/udp ALLOW Anywhere
51821/tcp ALLOW Anywhere
446/tcp ALLOW Anywhere
993/tcp ALLOW Anywhere
8080/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere
5900/tcp ALLOW Anywhere
Anywhere on wg0 ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
51820 (v6) ALLOW Anywhere (v6)
51820/tcp (v6) ALLOW Anywhere (v6)
51820/udp (v6) ALLOW Anywhere (v6)
OpenSSH (v6) ALLOW Anywhere (v6)
51821/udp (v6) ALLOW Anywhere (v6)
51821/tcp (v6) ALLOW Anywhere (v6)
446/tcp (v6) ALLOW Anywhere (v6)
993/tcp (v6) ALLOW Anywhere (v6)
8080/tcp (v6) ALLOW Anywhere (v6)
443/tcp (v6) ALLOW Anywhere (v6)
5900/tcp (v6) ALLOW Anywhere (v6)
Anywhere (v6) on wg0 ALLOW Anywhere (v6)
22/tcp ALLOW OUT Anywhere
Anywhere ALLOW OUT Anywhere on wg0
22/tcp (v6) ALLOW OUT Anywhere (v6)
Anywhere (v6) ALLOW OUT Anywhere (v6) on wg0
Я могу подключиться с моего устройства iOS, Android или macOS, но без доступа к Интернету и локальной сети . Я не могу ничего пропинговать после успешного подключения. Невозможно пинговать даже устройства в подсетях и в текущей сети. Невозможно проверить связь с внешним устройством, например: 8.8.8.8 или 1.1.1.1 Все в порядке - рукопожатие в порядке. Пожалуйста, объясни мне, в чем ошибка.
Мне нужен доступ к локальной сети и Интернету через VPN.
РЕШЕНО! Похоже, это неверно. Замена "% i" на "wg0" решила проблему.
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
Должно быть:
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
Доступ к локальной сети работает. Доступ в интернет работает!
Спасибо этому парню из этого видео: https://www.youtube.com/watch?v=bVKNSf1p1d0