Назад | Перейти на главную страницу

Как мне настроить OpenVPN для доступа в Интернет с одной сетевой картой?

Прочитав много вопросов, КАК, то Вопросы-Ответы и даже части руководство по сети в Linux, Я не могу подключиться к Интернету.

Я пытаюсь настроить сервер OpenVPN на VPS, который будет использоваться для:

я жестяная банка подключиться к моему серверу и получить доступ к машине (HTTP), но подключение к Интернету терпит неудачу полностью. я использую ping 8.8.8.8 для проверки, работает ли мое соединение или нет.

С помощью tcpdump и iptables -t nat -A POSTROUTING -j LOG, Я могу подтвердить, что пакеты достигают моего сервера. Если я пингую до 8.8.8.8 на VPS, я получаю echo-reply с 8.8.8.8 как и ожидалось. При пинге от клиента я не получаю echo-reply.

VPS имеет только одну сетевую карту: etho. Он работает на Xen. Я бы хотел избежать сетевого моста (br0).

Резюме: я хочу иметь безопасное соединение между моим ноутбуком и Интернетом с помощью OpenVPN. Если это сработает, я также хочу иметь возможность подключения по IPv6.

Настройка сети и программное обеспечение:

 Home laptop    (eth0: 192.168.2.10) (tap0: 10.8.0.2)
  |      |       (running Kubuntu 10.10; OpenVPN 2.1.0-3ubuntu1)
  | wifi |
router/gateway  (gateway 192.168.2.1)
      |
  INTERNET
      |
     VPS        (eth0:1.2.3.4)       (gateway, tap0: 10.8.0.1)
                  (running Debian 6; OpenVPN 2.1.3-2)

Wi-Fi и мой домашний маршрутизатор не должны вызывать проблем, так как весь трафик зашифрован через порт UDP 1194.

Я включил переадресацию IP:

# echo 1 > /proc/sys/net/ipv4/ip_forward

iptables был настроен так, чтобы разрешить пересылку трафика:

iptables -F FORWARD
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
iptables -A FORWARD -j DROP

Я пробовал каждое из этих правил по отдельности, но безуспешно (промывал цепочки перед выполнением):

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j SNAT --to 1.2.3.4
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

route -n before (сервер):

1.2.3.4         0.0.0.0         255.255.255.0   U     0      0        0 eth0
0.0.0.0         1.2.3.4         0.0.0.0         UG    0      0        0 eth0

route -n после (сервер):

1.2.3.4         0.0.0.0         255.255.255.0   U     0      0        0 eth0
10.8.0.0        0.0.0.0         255.255.255.0   U     0      0        0 tap0
0.0.0.0         1.2.3.4         0.0.0.0         UG    0      0        0 eth0

route -n до (клиент):

192.168.2.0     0.0.0.0         255.255.255.0   U     2      0        0 wlan0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlan0
0.0.0.0         192.168.2.1     0.0.0.0         UG    0      0        0 wlan0

route -n после (клиент):

1.2.3.4         192.168.2.1     255.255.255.255 UGH   0      0        0 wlan0
10.8.0.0        0.0.0.0         255.255.255.0   U     0      0        0 tap0
192.168.2.0     0.0.0.0         255.255.255.0   U     2      0        0 wlan0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlan0
0.0.0.0         10.8.0.1        128.0.0.0       UG    0      0        0 tap0
128.0.0.0       10.8.0.1        128.0.0.0       UG    0      0        0 tap0
0.0.0.0         192.168.2.1     0.0.0.0         UG    0      0        0 wlan0

Конфигурация СЕРВЕРА

proto udp
dev tap
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1"
ifconfig-pool-persist ipp.txt
keepalive 10 120
tls-auth ta.key 0
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
log-append openvpn-log
verb 3
mute 10

Конфигурация КЛИЕНТА

dev tap
proto udp
remote 1.2.3.4 1194
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
comp-lzo
user nobody
group nogroup
verb 3
mute 20

traceroute 8.8.8.8 работает как ожидалось (аналогичный вывод без активированного OpenVPN):

 1  10.8.0.1 (10.8.0.1)  24.276 ms  26.891 ms  29.454 ms
 2  gw03.sbp.directvps.nl (178.21.112.1)  31.161 ms  31.890 ms  34.458 ms
 3  ge0-v0652.cr0.nik-ams.nl.as8312.net (195.210.57.105)  35.353 ms  36.874 ms  38.403 ms
 4  ge0-v3900.cr0.nik-ams.nl.as8312.net (195.210.57.53)  41.311 ms  41.561 ms  43.006 ms
 5  * * *
 6  209.85.248.88 (209.85.248.88)  147.061 ms  36.931 ms  28.063 ms
 7  216.239.49.36 (216.239.49.36)  31.109 ms  33.292 ms 216.239.49.28 (216.239.49.28)  64.723 ms
 8  209.85.255.130 (209.85.255.130)  49.350 ms 209.85.255.126 (209.85.255.126)  49.619 ms 209.85.255.122 (209.85.255.122)  52.416 ms
 9  google-public-dns-a.google.com (8.8.8.8)  41.266 ms  44.054 ms  44.730 ms

Если у вас есть предложения, прокомментируйте или ответьте.

Заранее спасибо.

Это оказалось проблемой на стороне провайдера, у них были устаревшие сетевые настройки для Xen. Для получения информации об IPv6 см. Как я могу настроить OpenVPN с IPv4 и IPv6 с помощью устройства Tap?.

Я не уверен, что я что-то здесь понял, но мне кажется, что вы разрешаете пересылку, когда источник - 10.8.0.0/24, так как вы ожидаете, что ответ от пункта назначения 8.8.8.8 перейдет на 10.8.0.0/24 затем?