Прежде всего, я знаю, что этот вопрос задан по крайней мере миллион раз. Я пробовал много решений и до сих пор не могу заставить свою VPN работать. Когда я подключаюсь к своей VPN, мой IP-клиент изменяет IP-адрес VPN (ожидается). Но не будет маршрутизировать весь трафик через VPN. Я могу сказать, потому что я использую OpenDNS в качестве моего домашнего DNS-сервера и использую свой тестовый домен internetbadguys.com для проверки трафика через VPN. Я использую флаги push в server.conf:
push "redirect-gateway def1"
push "remote-gateway vpn_server_ip"
push "dhcp-option DNS 8.8.8.8"
keepalive 10 60
и в client.ovpn:
push "redirect-gateway def1"
Кроме того, если это помогает, я использую AWS Экземпляр EC2 для запуска моей VPN. Я не уверен, что еще делать дальше. Надеюсь, кто-то может понять это:)
Спасибо заранее!
Конфигурации сервера и клиента ниже:
Сервер:
port PORT
proto udp
dev tun
ca ca.cert
cert server.crt
key server.key
dh dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 172.31.0.0 255.255.0.0"
keepalive 10 120
tls-auth ta.key 0
key-direction 0
cipher AES-128-CBC
auth SHA256
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
# ROUTE CLIENT'S INTERNET ACCESS THROUGH THE SERVER
push "redirect-gateway def1"
push "remote-gateway vpn_server_ip"
push "dhcp-option DNS 8.8.8.8"
keepalive 10 60
crl-verify crl.pem
Клиент:
client
dev tun
proto udp
remote MY-SERVER-IP PORT
remote MY-SERVER-HOSTNAME PORT
resolv-retry infinite
nobind
user nobody
group nogroup
persist-key
persist-tun
remote-cert-tls server
comp-lzo
push "redirect-gateway def1"
verb 3
Для кого-то еще с этой проблемой вам, скорее всего, необходимо включить переадресацию IP-адресов на сервере, поскольку по умолчанию это будет отключено.
Поместите это в /etc/sysctl.conf:
net.ipv4.ip_forward = 1
И затем запустите:
sysctl -p /etc/sysctl.conf
Теперь это касается вашей переадресации IP-адресов. Если вы используете брандмауэр (возможно, iptables), то вы, вероятно, захотите, чтобы ваш NAT работал так:
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
Поместите что-то вроде этого в / etc / sysconfig / iptables сделайте его постоянным:
*nat
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
COMMIT
Все хорошо, ваш сервер теперь перенаправляет ваш клиентский трафик VPN. Следующее, что вам нужно сделать, - это перевести браузер вашего клиента на whatismyipaddress.com, чтобы увидеть, что он показывает адрес Amazon, а затем на www.dnsleaktest.com и посмотрит, как все выглядит. Если вы просочитесь через Google, вы можете захотеть запустить простой сервер кэширования DNS на вашем VPN-сервере и указать на него своего клиента, если хотите анонимность.
Надеюсь, что это поможет.
Для кого-то еще с этой проблемой вам, скорее всего, необходимо включить переадресацию IP-адресов на сервере, поскольку по умолчанию это будет отключено.
Поместите это в /etc/sysctl.conf:
net.ipv4.ip_forward = 1
И затем запустите:
sysctl -p /etc/sysctl.conf
Теперь это касается вашей переадресации IP-адресов. Если вы используете брандмауэр (возможно, iptables), то вы, вероятно, захотите, чтобы ваш NAT работал так:
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
Поместите что-то вроде этого в / etc / sysconfig / iptables сделайте его постоянным:
*nat
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
COMMIT
Все хорошо, ваш сервер теперь перенаправляет ваш клиентский трафик VPN. Следующее, что вам нужно сделать, - это перевести браузер вашего клиента на whatismyipaddress.com, чтобы увидеть, что он показывает адрес Amazon, а затем на www.dnsleaktest.com и посмотрит, как все выглядит. Если вы просочитесь через Google, вы можете захотеть запустить простой сервер кэширования DNS на вашем VPN-сервере и указать на него своего клиента, если хотите анонимность.
Надеюсь, что это поможет.