Я могу пинговать сервер, но не google.com или 8.8.8.8, traceroute также не работает.
Сервер:
$iptables -t nat -A POSTROUTING -s 10.9.8.0/24 -o eth0 -j MASQUERADE
$openvpn --dev tun1 --server 10.9.8.0 255.255.255.0 --dh /etc/openvpn/easy-rsa/keys/dh2048.pem --ca /etc/openvpn/easy-rsa/keys/ca.crt --cert /etc/openvpn/easy-rsa/keys/Hal.crt --key /etc/openvpn/easy-rsa/keys/Hal.key --reneg-sec 60 --verb 5 --duplicate-cn --mode server --client-to-client --push "redirect-gateway def1"
Клиент:
$openvpn --remote 10.0.0.102 --dev tun1 --client --ca /etc/openvpn/easy-rsa/keys/ca.crt --cert /etc/openvpn/easy-rsa/keys/client1.crt --key /etc/openvpn/easy-rsa/keys/client1.key --reneg-sec 60 --verb 5
Таблица маршрутов на клиенте после выполнения вышеуказанных команд:
$route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 10.9.8.5 128.0.0.0 UG 0 0 0 tun1
default 10.0.0.1 0.0.0.0 UG 0 0 0 eth0
10.0.0.0 * 255.0.0.0 U 0 0 0 eth0
routbuntu-2.loc 10.0.0.1 255.255.255.255 UGH 0 0 0 eth0
10.9.8.0 10.9.8.5 255.255.255.0 UG 0 0 0 tun1
10.9.8.5 * 255.255.255.255 UH 0 0 0 tun1
128.0.0.0 10.9.8.5 128.0.0.0 UG 0 0 0 tun1
решение1
----в общем:
Вам следует использовать примеры .conf-файлов OpenVPN. Вы можете улучшить их, поскольку они объясняют важные параметры.
используйте команду, ifconfig
чтобы проверить, настроено ли виртуальное туннельное устройство, например tun0 (включено/в сети), на сервере и на клиенте после запуска VPN.
@verbosity, возможно, вам стоит попробовать значение по умолчанию, verb 3
поскольку verb 5
оно может быть слишком объемным, а затем прочитать вывод и, если возникнут проблемы, опубликовать его. OpenVPN предоставляет вам подробный вывод для анализа.
----решение проблемы:
вы можете пинговать свой "сервер"... по его LAN-IP-адресу или по его VPN-виртуальному IP-адресу 10.9.8.1. Я полагаю, вы пингуете его LAN/WAN-IP-адрес, поскольку предполагаю, что ваше VPN-соединение не будет установлено с этими настройками. А пинг его LAN/WAN-IP ничего не скажет вам о том, работает ваш VPN или нет.
Ваш вопрос очень расплывчатый, и в нем отсутствует много информации. Но я предполагаю, что вы хотите направить весь интернет-трафик с компьютера vpn-клиента через vpn-сервер.
в таком случае:
--Если вы хотите настроить OpenVPN-сервер как программный маршрутизатор, то я думаю, что правил iptables недостаточно.
Обычно конфигурация iptables для маршрутизации выглядит примерно так.
iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -A FORWARD -i tun0 -s 10.9.8.0/24 -o eth0 -j ACCEPT
В man-страницах OpenVPN упоминается только опция "--push "redirect-gateway def1" и строка ip-tables nat, которые вы использовали. Но вы должны попробовать, если эти правила iptables помогут.
--и я думаю, что ip-forwarding должен быть активирован на компьютере openvpn-сервера:
sysctl net.ipv4.ip_forward=1 sysctl net.ipv6.conf.default.forwarding=1 sysctl net.ipv6.conf.all.forwarding=1
@ конфигурация вашего сервера OpenVPN:
--вы можете выбрать между dev tun
и dev tap
, опции tun0 или tun1 отсутствуют.
-- mode server
неверно, и вы уже установили режим с помощьюserver 10.9.8.0 255.255.255.0
@ конфигурация вашего клиента OpenVPN:
--также используйте dev tun
здесь
-- remote YourServersIpAddress
убедитесь, что это действительно IP-адрес вашего OpenVPN-сервера в локальной сети или Интернете. 10.0.0.102 кажется мне необычным.