Я пытаюсь создать VPN-маршрутизатор с Raspberry Pi, и я следовал бесчисленным руководствам, однако, все не работает так же, как в любом из руководств, которые я прочитал. По сути, у меня есть две идентичные сетевые карты, подключенные к Pi, одна (wlan1) настроена для подключения к домашнему маршрутизатору через DHCP, а другая (wlan2) настроена в качестве точки доступа. Я проверил, что все правильно настроено на Pi. Я могу получить доступ к Интернету с маршрутизатора Pi через VPN успешно, и я могу подключить клиентов к точке доступа на wlan2 успешно. Единственная проблема заключается в том, что клиенты, подключенные к wlan2, не могут подключиться к Интернету. Я попробовал пару вещей для отладки
(на роутере Пи)
tcpdump -Q out -i tun0
Я вижу ICMP-трафик, покидающий VPN, когда я подключаю клиента к Pi и что-то пингуюсь, хотя, кажется, я никогда не получаю его.
Мои правила iptables чрезмерно разрешительны для целей тестирования, и я обнаружил, что даже если я разрешу весь трафик на всех интерфейсах, я все равно не смогу получать данные из Интернета в качестве клиента маршрутизатора Pi. Вот правила:
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -o wlan1 -j ACCEPT
iptables -A INPUT -i wlan1 -j ACCEPT
iptables -A INPUT -i wlan2 -j ACCEPT
iptables -A OUTPUT -o wlan2 -j ACCEPT
iptables -A INPUT -i tun0 -j ACCEPT
iptables -A OUTPUT -o tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -o wlan2 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i wlan2 -o tun0 -j ACCEPT
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
Я не понимаю Все работает на Pi, и мои правила iptables позволяют все. Перед подключением Pi к VPN все работало нормально для клиентов, поэтому оно должно быть как-то связано с VPN или последними тремя правилами. Я полностью застрял в этой точке. Спасибо за прочтение.