URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 94993
[ Назад ]

Исходное сообщение
"openvpn"

Отправлено Илья , 09-Сен-13 12:35 
Openvpn
Сервер настроен весьма параноидально.

Имеется клиентский конфиг
client
tls-client
verb 3
dev tap
proto udp
remote server.ru 1194
nobind
persist-key
persist-tun
redirect-gateway

ca   "server.ru/ca.crt"
cert "server.ru/client1.crt"
key  "server.ru/client1.key"
tls-auth "server.ru/ta.key" 1

Коннект  успешен, но видим только сам сервер- признак того, что на сервере iptables надо править.

вроде бы так

iptables -A FORWARD -i tap0 -o br0 -j ACCEPT
iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE


ifconfig -  br0 основной,
tap0      Link encap:Ethernet  HWaddr A2:ED:93:FA:82:C9
          inet addr:10.8.0.1  Bcast:10.8.0.255  Mask:255.255.255.0

/proc/sys/net/ipv4/ip_forward
1


Что забыл?


Содержание

Сообщения в этом обсуждении
"openvpn"
Отправлено reader , 09-Сен-13 13:29 
>[оверквотинг удален]
> persist-tun
> redirect-gateway
> ca   "server.ru/ca.crt"
> cert "server.ru/client1.crt"
> key  "server.ru/client1.key"
> tls-auth "server.ru/ta.key" 1
> Коннект  успешен, но видим только сам сервер- признак того, что на
> сервере iptables надо править.
> вроде бы так
>  iptables -A FORWARD -i tap0 -o br0 -j ACCEPT

а в обратную где?
>  iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE
> ifconfig -  br0 основной,
> tap0      Link encap:Ethernet  HWaddr A2:ED:93:FA:82:C9
>           inet addr:10.8.0.1
>  Bcast:10.8.0.255  Mask:255.255.255.0
> /proc/sys/net/ipv4/ip_forward
> 1
> Что забыл?


"openvpn"
Отправлено PavelR , 09-Сен-13 14:18 
> Openvpn
> Сервер настроен весьма параноидально.

То, что было выше приведено (конфиг опенвпн) - далеко не параноидально.

> Что забыл?

Воспользоваться tcpdump для диагностики.


"openvpn"
Отправлено Перлюстратор Стафф , 10-Сен-13 11:52 
>  iptables -A FORWARD -i tap0 -o br0 -j ACCEPT
>  iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE

Должен быть accept на уже установленные соединения. Можно погуглить howto'шки примитивного проброса соединений, простого шлюза. Там точно будет.

Полезно найти схему NetFilter цепочек таблиц. Вот такая неплоха: https://upload.wikimedia.org/wikipedia/ru/f/f4/Iptables-trav... Отмедитировать, со схемой перед глазами, на предмет: что нужно получить и через какие таблицы в цепочках это пройдёт. Иногда уже на этом этапе становится всё понятно.

Ну, и со схемой наперевес поставить в цепочках правила записи в системный лог. Типа: iptables ... -j log (если мне склероз не изменяет).

Дальше копаться в этих логах, потом уже (или - просто независимо) смотреть tcpdump.

Важно: не все сразу понимают, что искомый трафик через некоторые таблицы не идёт совсем. В этом случае непонимания могут ставить нужные правила в таблицы, где эти правила смысла не имеют.


"openvpn"
Отправлено Илья , 18-Сен-13 13:43 
Начинаем.
Открываем 1194 порт
Смотрим

tcpdump dst port 1194

12:23:27.716664 IP CentOS-63-64-minimal.openvpn > l5-128-36-15.cn.ru.openvpn: UDP, length 142
12:23:27.716691 IP CentOS-63-64-minimal.openvpn > l5-128-36-15.cn.ru.openvpn: UDP, length 96
12:23:27.836392 IP l5-128-36-15.cn.ru.openvpn > CentOS-63-64-minimal.openvpn: UDP, length 50
12:23:27.836414 IP l5-128-36-15.cn.ru.openvpn > CentOS-63-64-minimal.openvpn: UDP, length 50
12:23:27.836424 IP l5-128-36-15.cn.ru.openvpn > CentOS-63-64-minimal.openvpn: UDP, length 50
12:23:27.836431 IP l5-128-36-15.cn.ru.openvpn > CentOS-63-64-minimal.openvpn: UDP, length 50

tcpdump src port 1194

12:27:08.242730 IP l5-128-36-15.cn.ru.openvpn > CentOS-63-64-minimal.openvpn: UDP, length 53
12:27:17.635426 IP l5-128-36-15.cn.ru.openvpn > CentOS-63-64-minimal.openvpn: UDP, length 53
12:27:18.795852 IP CentOS-63-64-minimal.openvpn > l5-128-36-15.cn.ru.openvpn: UDP, length 53

Круто.
Коннект прошел.
Клиент начинает при пинге выдавать

From 10.8.0.2 icmp_seq=739 Destination Host Unreachable
From 10.8.0.2 icmp_seq=741 Destination Host Unreachable
From 10.8.0.2 icmp_seq=742 Destination Host Unreachable
From 10.8.0.2 icmp_seq=743 Destination Host Unreachable
From 10.8.0.2 icmp_seq=745 Destination Host Unreachable
From 10.8.0.2 icmp_seq=746 Destination Host Unreachable
From 10.8.0.2 icmp_seq=747 Destination Host Unreachable
From 10.8.0.2 icmp_seq=749 Destination Host Unreachable
From 10.8.0.2 icmp_seq=750 Destination Host Unreachable
From 10.8.0.2 icmp_seq=751 Destination Host Unreachable
From 10.8.0.2 icmp_seq=754 Destination Host Unreachable

Дальше все глохнет.
Делаю по
https://community.openvpn.net/openvpn/wiki/BridgingAndRouting

Конфиг сети
ifconfig
br0       Link encap:Ethernet  HWaddr 6C:62:6D:D7:55:54
          inet addr:ИП  Bcast:ИП  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:88943945 errors:0 dropped:0 overruns:0 frame:0
          TX packets:81109975 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:23475937163 (21.8 GiB)  TX bytes:60753180253 (56.5 GiB)

tap0      Link encap:Ethernet  HWaddr 46:47:7E:53:76:D4
          inet addr:10.8.0.1  Bcast:10.8.0.255  Mask:255.255.255.0
          inet6 addr: fe80::4447:7eff:fe53:76d4/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:0 (0.0 b)  TX bytes:468 (468.0 b)

Последовательность проверки роутинга и правил какая?