4

Я настроил сервер OpenVPN на VPS в США и настроил его для маршрутизации трафика всех клиентов через него. Кажется, все работает нормально относительно VPN-подключения в Gerneral. На всех сайтах ip lookup отображается ip-адрес американского сервера, и даже hulu.com работает (он не будет работать, если вы не в США). Но по какой-то причине netflix.com говорит:«Извините, Netflix еще не доступен в вашей стране». Поэтому я подумал, что netflix, вероятно, использует более сложные способы определения вашего местоположения, помимо вашего IP-адреса. Но я не мог найти способ заставить его работать, пока я не отказался от идеи использования VPN и вместо этого подключился к серверу через простой туннель socks с ssh, выполнив:

ssh -D 9999 user@serverip

Все, что мне нужно было сделать, это поменять ключ

network.proxy.socks_remote_dns

в Firefox от false до true, чтобы предотвратить утечки DNS и настроить прокси socks. Тогда я мог бы, наконец, посмотреть netflix.com. В результате я пришел к выводу, что в браузере нет ничего (или что-то вроде системного часового пояса), который сообщал бы netflix о местоположении, поэтому он должен иметь какое-то отношение к конфигурации OpenVPN.

После этого я использовал tcpdump для регистрации всего трафика на сетевом интерфейсе сервера venet0 (OpenVZ VPS), посетил netflix.com на клиенте, сначала подключившись к VPN, а затем подключившись через туннель socks, а затем сравнил оба выхода.

Единственное, что бросилось в глаза, это то, что при использовании туннеля socks сервер в основном использовал ipv6 для подключения к netflix, тогда как он использовал ipv4 только тогда, когда клиент был подключен к серверу OpenVPN. Но я не понимаю, как это могло иметь такое значение.

Так чего мне не хватает? Есть ли способ настроить OpenVPN для использования ipv6 для подключения к веб-сайту, хотя между VPS и клиентом существует только соединение ipv4?

Вот файл server.conf сервера OpenVPN (OpenVZ VPS)

local serverip
port 443
proto tcp
dev tun
ca ./easy-rsa2/keys/ca.crt
cert ./easy-rsa2/keys/vps1.crt
key ./easy-rsa2/keys/vps1.key  # This file should be kept secret
dh ./easy-rsa2/keys/dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
client-to-client
keepalive 10 120
tls-auth ta.key 0 # This file is secret
cipher AES-256-CBC
comp-lzo
max-clients 4
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
log-append  openvpn.log
verb 3

пересылка iptables

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j SNAT --to-source serverip

(включена пересылка ipv4)

Я всегда пробовал все на Win7 и клиенте Debian только с подключениями ipv4 и всегда следил за тем, чтобы они использовали правильный DNS-сервер (протестировано с ipleak.net и tcpdump / wireshark).

client.conf:

client
dev tun
proto tcp
remote serverip 443
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
ns-cert-type server
tls-auth ta.key 1
cipher AES-256-CBC
comb-lzo
verb 3

2 ответа2

0

Я не знаю, решит ли это ваши проблемы с Netflix (хотя я полагаю, что возможно, что Netflix не геополитирует вас одинаково через IPv4 и IPv6), но, начиная с OpenVPN 2.3, полностью поддерживается IPv6.

Просто используйте server-ipv6 addr/bits с битами от 64 до 112.

0

Netflix не использует географическую защиту IPv6 по крайней мере с 2013 года, см. Здесь [n1].

- ab1

[n1] больше информации на странице проекта, netflix-proxy

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .