У меня есть сервер OpenVPN, работающий в облаке, настроенный для прослушивания 1194 / tcp с дополнением UFW, которое перенаправляет 443 на 1194 (так что я могу использовать свой VPN в местах с ограничительными брандмауэрами).
Когда я пытаюсь открыть https-соединение с google.com, я получаю следующее в журнале моего сервера OpenVPN, и страница в значительной степени умирает.
WARNING: Bad encapsulated packet length from peer ([[Peer number]]), which must be > 0 and <= 1575 -- please ensure that --tun-mtu or --link-mtu is equal on both peers -- this condition could also indicate a possible active attack on the TCP link -- [Attempting restart...]
Нормальный HTTP-трафик и любые другие типы трафика, которые я тестировал, похоже, работают нормально, кроме HTTPS.
Я следил за этим руководством https://www.digitalocean.com/community/tutorials/how-to-set-up-an-openvpn-server-on-ubuntu-16-04 почти полностью настроить все.
Для пересылки у меня в UFW добавлено несколько строк before.rules
...
*nat
:PREROUTING ACCEPT [0:0]
-A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 1194
COMMIT
Любая помощь приветствуется.
Изменить: я переключил его с порта 443, и он снова начал работать. Кажется, у вас не может быть перенаправления, если вы хотите использовать HTTPS. Мне просто нужно найти другой открытый порт.
Проблема слишком обширна ПЕРЕНАПРАВЛЕНИЕ iptables, потому что оно влияет на весь трафик с NAT. Он должен быть ограничен входящим трафиком только на сервер VPN.
Измените это правило так, чтобы оно соответствовало только входящему трафику, указав интерфейс или IP-адрес, который клиент использует для подключения к серверу VPN.
Например:
-A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 1194
где eth0 это интерфейс, к которому подключается VPN-клиент (скорее всего, интерфейс WAN)
или:
-A PREROUTING -d 192.0.2.0 -p tcp --dport 443 -j REDIRECT --to-port 1194
где 192.0.2.0 - это IP-адрес, к которому подключается VPN-клиент (скорее всего, внешний IP-адрес).