Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) |
Не понятно, зачем нужен NAT в случае соединения двух сетей по VPN ! 07.03.08 17:35 Число просмотров: 3792
Автор: Den <Denis> Статус: The Elderman
|
|
<networking>
|
FreeBSD 6.2, OpenVPN и мои кривые руки. :( 03.03.08 12:59 [Den]
Автор: Lurga Статус: Elderman Отредактировано 03.03.08 13:35 Количество правок: 1
|
Есть сервер под ФриБСД 6.2. На нём НАТ и ОупенВПН, причём наши сетки (например, 10.10.8.0/22), на которые идёт роутинг, замечательно видны с сервера, но из локалки не пингуется (выдаётся сообщение "Превышен интервал ожидания для запроса").
client.conf выглядит следующим образом:
client
nobind
proto udp
remote vpn.domain.com 1194
dev tun
comp-lzo
ca /etc/openvpn/ca.crt
cert /etc/openvpn/dnepr.crt
keepalive 10 60
persist-key
persist-tun
А это из rc.conf:
#--- OpenVPN ---
openvpn_enable="YES"
openvpn_if="tun"
openvpn_flags=""
openvpn_configfile="/etc/openvpn/client.conf
В девайсах присутствует нечто под названием tun0. Попытки заменить tun на tun0 в вышеприведённых файлах ничего не дают -- с сервера всё пингуется, из локалки -- нет.
ipwf show:
00050 32524 26782700 divert 8668 ip4 from any to any via rl0
00100 0 0 allow ip from any to any via lo0
00200 0 0 deny ip from any to 127.0.0.0/8
00300 0 0 deny ip from 127.0.0.0/8 to any
65000 65074 53498806 allow ip from any to any
65100 0 0 allow ip from any to any via tun0
65535 0 0 deny ip from any to any
ifconfig:
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MILTICAST> mtu 1500
options=8<VLAN_MTU>
inet 192.168.0.125 netmask 0xffffff00 broadcast 192.168.0.255 // это подключено к ДСЛ
ether 00:0e:2e:a5:71:f2
media: Ethernet autoselect (100baseTX <full duplex>)
status: active
rl1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MILTICAST> mtu 1500
options=8<VLAN_MTU>
inet 192.168.8.5 netmask 0xffffff00 broadcast 192.168.8.255 // это смотрит в локалку
ether 00:19:E0:14:91:73
media: Ethernet autoselect (100baseTX <full duplex>)
status: active
plip0: flags=108810<POINTOPOINT,SIMPLEX,MULTICAST,NEEDGIA NT> mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST>mtu 16384
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
inet 192.168.253.82 --> 192.168.253.81 netmask 0xffffffff
Opened by PID 841
Запуск во Фри команды
route add -net 10.10.10.0/22 192.168.253.82 netmask 255.255.255.0
ничего не дают...
|
![](/img/dot.gif) |
Блин. 09.03.08 16:13
Автор: Lurga Статус: Elderman
|
Оказалось, что с моей стороны всё ОК. Московский админ не добавил правила маршрутизации для моей сетки. :(
|
![](/img/dot.gif) |
Ядро пересобирал? 07.03.08 17:35
Автор: Den <Denis> Статус: The Elderman
|
Опции IPFIREWALL и IPDIVERT при сборке включал?
Что показывает sysctl net.inet.ip.forwarding ?
|
![](/img/dot.gif) |
это делать обязательно, иначе траффик к сетке пойдет на... 03.03.08 15:11
Автор: ZaDNiCa <indeed ZaDNiCa> Статус: Elderman
|
>Запуск во Фри команды
>route add -net 10.10.10.0/22 192.168.253.82 netmask255.255.255.0
это делать обязательно, иначе траффик к сетке пойдет на дефот шлюз и до удаленной сети не дойдет.
еще нужно проверить заворачиваются ли пакеты из локалки к удаленной сетке в туннель
на компах поставить пинг, а на сервере tcpdump -i tun0 -n proto ICMP
аналогичную проверку сделать на втором конце
|
![](/img/dot.gif) | ![](/img/dot.gif) |
Разрулил. :) 03.03.08 17:32
Автор: Lurga Статус: Elderman
|
ipfw add 1 allow tcp from 192.168.8.0/24 to 10.10.8.0/22 via tun0
ipfw add 2 allow tcp from 10.10.8.0/22 to 192.168.8.0/24 via tun0
И так далее. Какой бы ещё добрый человек дал путную доку по написанию скриптов, чтоб эти рулезы грузились автоматом...
|
![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) |
Для начала лучше так: 07.03.08 17:29
Автор: Den <Denis> Статус: The Elderman
|
ipfw add allow ip from any to any via tun0
ipfw add allow icmp from any to any via tun0
|
![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) |
тогда уж ipfw add allow ip from any to any via any чтобы исключить fw вообще 07.03.08 20:19
Автор: Ustin <Ustin> Статус: Elderman
|
|
![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) |
Если есть уверенность в прове, то м.б. - для чистоты эксперимента. 07.03.08 20:24
Автор: Den <Denis> Статус: The Elderman
|
|
![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) |
так надо ж проверить в чём бока на доступе к внешним ресурсам - и в данной ситуации я сильно подозреваю fw 07.03.08 20:41
Автор: Ustin <Ustin> Статус: Elderman
|
|
![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) |
ага, проморгал... 03.03.08 18:06
Автор: ZaDNiCa <indeed ZaDNiCa> Статус: Elderman
|
... что дефолтовая политика в deny стоит
> И так далее. Какой бы ещё добрый человек дал путную доку по > написанию скриптов, чтоб эти рулезы грузились автоматом... самый просто метод - запихнуть все в/etc/rc.local (если нет его, создать)
а если делать "по науке", то нужно в /etc/rc.conf установить
firewall_enable="YES"
firewall_type="MY"
natd_enable="YES"
natd_interface="<interface>"
а в файле /etc/rc.firewall по аналогии с примерами создать свой тип описания параметров файрвола под именем MY
|
![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) |
Спасибо. Завтра отпишусь, что ещё поломал... 03.03.08 19:21
Автор: Lurga Статус: Elderman
|
|
![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) |
Итак... 05.03.08 18:15
Автор: Lurga Статус: Elderman
|
Как оказалось, радовался я рано. :( Пинги из локалки ходят только на одну сетку (второй офис в городе). Всё остальное пингуется только с сервера.
|
![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) |
Совершенно справедливо если нат поднят только для туннеля 05.03.08 18:54
Автор: Ustin <Ustin> Статус: Elderman Отредактировано 05.03.08 18:54 Количество правок: 2
|
|
![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) |
И как с этим бороться? 05.03.08 19:32
Автор: Lurga Статус: Elderman
|
|
![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) |
echo natd_interface=rl1>> /etc/rc.conf 06.03.08 09:27
Автор: Ustin <Ustin> Статус: Elderman Отредактировано 06.03.08 13:06 Количество правок: 2
|
И добавить маршрут в затуннельную сетку (10.10.8.0/22) на серваке через tun0, а также обратный маршрут в приватную сетку (192.168.8.0/24).
Не ясно, зачем натить через туннель: в этом случае до приватной сетки из затуннельной не достучишься же
|
![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) |
Не понятно, зачем нужен NAT в случае соединения двух сетей по VPN ! 07.03.08 17:35
Автор: Den <Denis> Статус: The Elderman
|
|
![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) |
Чтобы вовне туннеля трафик шёл через локального прова 07.03.08 18:41
Автор: Ustin <Ustin> Статус: Elderman
|
|
![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) |
Логично... 07.03.08 18:52
Автор: Den <Denis> Статус: The Elderman
|
|
![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) |
Указан natd_interface=rl0... 06.03.08 13:33
Автор: Lurga Статус: Elderman
|
|
![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) | ![](/img/dot.gif) |
Правильно указан! Если именно этот if (rl0) смотрит на прова. 07.03.08 18:51
Автор: Den <Denis> Статус: The Elderman
|
|
|
|