Прочитав много вопросов, КАК, то Вопросы-Ответы и даже части руководство по сети в 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 затем?