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

Исходное сообщение
"OpenVPN + FreeBSD + NAT"

Отправлено dredroot , 02-Ноя-06 16:48 
Народ помогите разобраться с openvpn на freebsd.
Собственно проблема вот в чем:
Установил openvpn на двух роутерах, первый - FreeBSD 5.1, второй - FreeBSD 5.3.
На первом запустил сервер, на втором клиент.
Коннект замечательный, с роутера-клиента все пингуется (вся подсеть первого роутера).
Затем попробовал поднять еще один NAT, чтобы с подсети роутера-клиента можно было VPN использовать, и тут началить проблемы. C подсети роутера-клиента выйти на VPN тунель не получается. Подскажите в чем проблема, зарание спасибо.

Вот основные настройки на роутере-клиенте:

ifconfig
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=8<VLAN_MTU>
        inet 195.138.85.106 netmask 0xfffffffc broadcast 195.138.85.107
        inet6 fe80::230:4fff:fe2b:f9bc%rl0 prefixlen 64 scopeid 0x1
        ether 00:30:4f:2b:f9:bc
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
rl1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=8<VLAN_MTU>
        inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
        inet6 fe80::230:4fff:fe2b:f9d4%rl1 prefixlen 64 scopeid 0x2
        ether 00:30:4f:2b:f9:d4
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet 127.0.0.1 netmask 0xff000000
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
        inet6 fe80::230:4fff:fe2b:f9bc%tun0 prefixlen 64 scopeid 0x4
        inet 10.10.10.10 --> 10.10.10.9 netmask 0xffffffff
        Opened by PID 406


NAT:
natd -a 10.10.10.10 -p 8669
natd -a 195.138.85.106 -p 8668

IPFW:
01000 allow ip from any to any dst-port 5000
01001 allow ip from any to any via tun0

01010 divert 8669 ip from 192.168.1.0/24 to 192.168.0.0/24
01011 fwd 10.10.10.9 ip from 10.10.10.10 to any
01012 divert 8669 ip from any to 10.10.10.10

02000 divert 8668 ip from any to any via rl0

05000 allow ip from 212.42.83.34 to any
05010 allow ip from 85.238.99.206 to any
05020 allow ip from any to 212.42.83.34
05030 allow ip from any to 85.238.99.206
06000 allow ip from 192.168.1.3 to any dst-port 80 via rl1
06001 allow ip from 192.168.1.22 to any dst-port 80 via rl1
06002 allow ip from 192.168.1.23 to any dst-port 80 via rl1
06003 allow ip from 192.168.1.24 to any dst-port 80 via rl1
06004 allow ip from 192.168.1.4 to any dst-port 80 via rl1
06041 allow ip from 192.168.1.121 to any dst-port 80 via rl1
06106 deny ip from 192.168.1.0/24 to any dst-port 80 via rl1
06107 allow ip from 192.166.1.0/24 to any
06110 deny ip from any to any dst-port 23 via rl0
06111 deny ip from any to any dst-port 22 via rl0
06112 deny ip from any to any dst-port 21 via rl0
06150 allow ip from any to any
65535 deny ip from any to any

NETSTAT:
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            Marconi-gw.Te.NeT. UGS         0     4550    rl0
10.10.10/24        10.10.10.9         UGS         0        0   tun0
10.10.10.9         10.10.10.10        UH          2      736   tun0
localhost          localhost          UH          0        0    lo0
192.168.0          10.10.10.9         UGS         0       98   tun0
192.168.1          link#2             UC          0        0    rl1
192.168.1.4        00:0c:f1:6f:e8:05  UHLW        0     1132    rl1   1195
192.168.1.24       00:0c:f1:7e:65:36  UHLW        0      196    rl1   1147
195.138.85.104/30  link#1             UC          0        0    rl0
Marconi-gw.Te.NeT. 00:e0:81:31:d0:1c  UHLW        1        0    rl0   1163


  


Содержание

Сообщения в этом обсуждении
"OpenVPN + FreeBSD + NAT"
Отправлено smb , 02-Ноя-06 22:28 
Интересно, и почему все так любят natd....
Собственно, нужно просто понять, что ты натишь и куда :)

На ipnat это реализуется так:
>> /etc/ipnat.rules
#В локальную сеть мапим на её интерфейс+IP -> rl1
map rl1 from 10.10.10.0/24 to 192.168.0.0/16 -> 192.168.1.1/32

#Остальное - мапим в инет на его интерфейс
map rl0 from 10.10.10.0/24 to any -> 195.138.85.106
<<

Ну и загрузка всего этого дела - очевидна:
#kldload ipl
#ipnat -f /etc/ipnat.rules
(потом можно ядро пересобрать)
просмотр статистики - #ipnat -sl

Роутинг на клиентской машине очевиден -
route add 192.168.0.0/16 192.168.1.1 (локалка)
route add default 10.10.10.9 (остальное - через туннель)

Надеюсь, стало чуть-чуть понятнее ;)
зы. вроде не ошибся нигде =)


"OpenVPN + FreeBSD + NAT"
Отправлено dredroot , 03-Ноя-06 17:22 
>Интересно, и почему все так любят natd....
>Собственно, нужно просто понять, что ты натишь и куда :)
>
>На ipnat это реализуется так:
>>> /etc/ipnat.rules
>#В локальную сеть мапим на её интерфейс+IP -> rl1
>map rl1 from 10.10.10.0/24 to 192.168.0.0/16 -> 192.168.1.1/32
>
>#Остальное - мапим в инет на его интерфейс
>map rl0 from 10.10.10.0/24 to any -> 195.138.85.106
><<
>
>Ну и загрузка всего этого дела - очевидна:
>#kldload ipl
>#ipnat -f /etc/ipnat.rules
>(потом можно ядро пересобрать)
>просмотр статистики - #ipnat -sl
>
>Роутинг на клиентской машине очевиден -
>route add 192.168.0.0/16 192.168.1.1 (локалка)
>route add default 10.10.10.9 (остальное - через туннель)
>
>Надеюсь, стало чуть-чуть понятнее ;)
>зы. вроде не ошибся нигде =)


Спасибо.
Еще один вопрос - ipnat можно использовать с ipfw или только с ipfilter?


"OpenVPN + FreeBSD + NAT"
Отправлено weldpua2008 , 04-Ноя-06 00:56 

>Спасибо.
>Еще один вопрос - ipnat можно использовать с ipfw или только с
>ipfilter?
Насколько Я помню - можно с чем угодно...