Сервер OpenVPN работает на Raspberry Pi с Raspbian GNU Linux 8. Интерфейс wlan0
Pi связан с IP-адресом 192.168.1.12. Pi имеет доступ в интернет через wlan0 через шлюз 192.168.1.1. Pi также оснащен сетевым адаптером eth0
с IP-адресом 192.168.2.2. Чтобы выставить интернет соединение на компьютеры, подключенные через VPN, я сделал
sudo iptables -t nat -A POSTROUTING -o wlan0 -s 10.8.0.0/24 -j MASQUERADE
Я запускаю VPN-сервер для тестирования через командную строку с
/usr/sbin/openvpn --writepid /run/whatever --cd /etc/openvpn/ --config openvpn.conf
На другом компьютере с Windows 8.1 установлен клиент OpenVPN версии 2.3.11, и он может обращаться к Pi через интерфейс wlan0
и eth0
.
Подключение к серверу OpenVPN с компьютера под управлением Windows может быть успешно установлено через оба интерфейса.
Проблема: если машина Windows подключается к VPN-серверу через интерфейс eth0, доступ в Интернет возможен. Однако при изменении ip сервера в конфигурации клиента на интерфейс интерфейса wlan0 Pi, Интернет больше не работает. Я попытался отключить брандмауэр ZoneAlarm на клиентском компьютере и сбросить все iptables на Pi (кроме директивы POSTROUTING), но безуспешно.
OpenVPN log file
(подробный уровень 9) показывает
Sun Jul 31 18:21:58 2016 us=515039 ux32/192.168.1.11:53346 STATE S_NORMAL_OP
Sun Jul 31 18:21:58 2016 us=515133 ux32/192.168.1.11:53346 ACK
reliable_can_send active=0 current=0 : [46]
Sun Jul 31 18:21:58 2016 us=515267 ux32/192.168.1.11:53346 ACK reliable_send_timeout 604800 [46]
Sun Jul 31 18:21:58 2016 us=515356 ux32/192.168.1.11:53346 TLS: tls_process: timeout set to 1096
Sun Jul 31 18:21:58 2016 us=515485 ux32/192.168.1.11:53346 TLS: tls_multi_process: i=1 state=S_INITIAL, mysid=8f6b297a 6d672983, stored-sid=00000000 00000000, stored-ip=[undef]
Sun Jul 31 18:21:58 2016 us=515616 ux32/192.168.1.11:53346 TLS: tls_multi_process: i=2 state=S_UNDEF, mysid=00000000 00000000, stored-sid=00000000 00000000, stored-ip=[undef]
Sun Jul 31 18:21:58 2016 us=515754 ux32/192.168.1.11:53346 RANDOM USEC=152453
Sun Jul 31 18:21:58 2016 us=515886 ux32/192.168.1.11:53346 SCHEDULE: schedule_add_modify wakeup=[Sun Jul 31 18:22:14 2016 us=102908] pri=1004941034
Sun Jul 31 18:21:58 2016 us=515977 MULTI TCP: multi_tcp_post TA_TIMEOUT -> TA_UNDEF
Sun Jul 31 18:21:58 2016 us=516098 SCHEDULE: schedule_find_least wakeup=[Sun Jul 31 18:22:14 2016 us=102908] pri=158513910
Вот конфигурация сервера OpenVPN:
dev tun
proto tcp
port 1194
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/server.crt
key /etc/openvpn/easy-rsa/keys/server.key
dh /etc/openvpn/easy-rsa/keys/dh2048.pem
user nobody
group nogroup
server 10.8.0.0 255.255.255.0
push "route 10.8.0.0 255.255.255.0"
push "redirect-gateway def1 bypass-dhcp"
push "route 0.0.0.0 0.0.0.0"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option WINS 208.67.220.220"
client-to-client
status /var/log/openvpn-status.log
log-append /var/log/openvpn
persist-key
persist-tun
verb 9
И конфигурация клиента OpenVPN:
dev tun
client
proto tcp
remote 192.168.1.12 1194 [no inet] / 192.168.2.2 1194 [inet]
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert ux32.crt
key ux32.key
verb 3
Единственное изменение между рабочей и не рабочей конфигурацией - это изменение ip-адреса сервера через remote
.
Таблица маршрутизации на клиентском компьютере:
IPv4-Routentabelle
===========================================================================
Aktive Routen:
Netzwerkziel Netzwerkmaske Gateway Schnittstelle Metrik
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.11 281
0.0.0.0 0.0.0.0 10.8.0.5 10.8.0.6 20
0.0.0.0 128.0.0.0 10.8.0.5 10.8.0.6 20
10.8.0.0 255.255.255.0 10.8.0.5 10.8.0.6 20
10.8.0.4 255.255.255.252 Auf Verbindung 10.8.0.6 276
10.8.0.6 255.255.255.255 Auf Verbindung 10.8.0.6 276
10.8.0.7 255.255.255.255 Auf Verbindung 10.8.0.6 276
127.0.0.0 255.0.0.0 Auf Verbindung 127.0.0.1 306
127.0.0.1 255.255.255.255 Auf Verbindung 127.0.0.1 306
127.255.255.255 255.255.255.255 Auf Verbindung 127.0.0.1 306
128.0.0.0 128.0.0.0 10.8.0.5 10.8.0.6 20
169.254.0.0 255.255.0.0 Auf Verbindung 192.168.1.11 306
169.254.0.0 255.255.0.0 Auf Verbindung 192.168.195.1 306
169.254.0.0 255.255.0.0 Auf Verbindung 192.168.235.1 306
169.254.255.255 255.255.255.255 Auf Verbindung 192.168.1.11 281
169.254.255.255 255.255.255.255 Auf Verbindung 192.168.195.1 276
169.254.255.255 255.255.255.255 Auf Verbindung 192.168.235.1 276
192.168.1.0 255.255.255.0 Auf Verbindung 192.168.1.11 281
192.168.1.11 255.255.255.255 Auf Verbindung 192.168.1.11 281
192.168.1.12 255.255.255.255 192.168.1.1 192.168.1.11 25
192.168.1.255 255.255.255.255 Auf Verbindung 192.168.1.11 281
192.168.195.0 255.255.255.0 Auf Verbindung 192.168.195.1 276
192.168.195.1 255.255.255.255 Auf Verbindung 192.168.195.1 276
192.168.195.255 255.255.255.255 Auf Verbindung 192.168.195.1 276
192.168.235.0 255.255.255.0 Auf Verbindung 192.168.235.1 276
192.168.235.1 255.255.255.255 Auf Verbindung 192.168.235.1 276
192.168.235.255 255.255.255.255 Auf Verbindung 192.168.235.1 276
224.0.0.0 240.0.0.0 Auf Verbindung 127.0.0.1 306
224.0.0.0 240.0.0.0 Auf Verbindung 10.8.0.6 276
224.0.0.0 240.0.0.0 Auf Verbindung 192.168.195.1 276
224.0.0.0 240.0.0.0 Auf Verbindung 192.168.235.1 276
224.0.0.0 240.0.0.0 Auf Verbindung 192.168.1.11 281
255.255.255.255 255.255.255.255 Auf Verbindung 127.0.0.1 306
255.255.255.255 255.255.255.255 Auf Verbindung 10.8.0.6 276
255.255.255.255 255.255.255.255 Auf Verbindung 192.168.195.1 276
255.255.255.255 255.255.255.255 Auf Verbindung 192.168.235.1 276
255.255.255.255 255.255.255.255 Auf Verbindung 192.168.1.11 281
===========================================================================
Дайте мне знать, если какая-либо другая информация имеет отношение к решению проблемы. Я благодарен за любой совет.