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

Исходное сообщение
"FreeBSD mpd5 VPN"

Отправлено asciiz , 03-Сен-11 00:55 
Пытаюсь поднять VPN на сервере, чтоб подключаться из дома к локалке.

Не хочет включаться proxy-arp для клиентского айпишника.

Имеем локалку 192.168.0.0/24, хочу несколько адресов выделить для VPN-подключений.

Конфиг вроде классический:

startup:

default:
         load pptp1

pptp1:
         create bundle template B
         set iface enable proxy-arp
         set iface idle 1800
         set iface enable tcpmssfix
         set ippool add poolinet 192.168.0.96 192.168.0.98
         set ipcp ranges 192.168.0.99/32 ippool poolinet
         set iface up-script /usr/local/etc/mpd5/if-up.sh
         set iface down-script /usr/local/etc/mpd5/if-down.sh
         set ipcp yes vjcomp
         set ipcp dns a.b.c.d
         set bundle enable compression
         set ccp yes mppc
         set mppc yes e128
         set bundle enable crypt-reqd
         set mppc yes stateless
         create link template L pptp
         set link enable multilink
         set link yes acfcomp protocomp
         set link action bundle B
         set link no pap
         set link yes chap
         set link enable chap
         set link mtu 1460
         set link keep-alive 10 75
         set pptp self a.b.c.d
         set link enable incoming

Соединение поднимается, но сервер не желает отвечать на ARP-запросы, предназначенные клиенту. В логе видим ту самую пресловутую строчку:

IFACE: No interface to proxy arp on for 192.168.0.96

Почему не назначается проксирование arp запросов на ng0 интерфейс?


Содержание

Сообщения в этом обсуждении
"FreeBSD mpd5 VPN"
Отправлено Xaionaro , 03-Сен-11 09:48 
>[оверквотинг удален]
>          set link keep-alive
> 10 75
>          set pptp self
> a.b.c.d
>          set link enable
> incoming
> Соединение поднимается, но сервер не желает отвечать на ARP-запросы, предназначенные клиенту.
> В логе видим ту самую пресловутую строчку:
> IFACE: No interface to proxy arp on for 192.168.0.96
> Почему не назначается проксирование arp запросов на ng0 интерфейс?

Мне кажется, что смена IP-адресов в "poolinet" поможет. Можно полный ifconfig?


"FreeBSD mpd5 VPN"
Отправлено asciiz , 03-Сен-11 22:53 
> Мне кажется, что смена IP-адресов в "poolinet" поможет. Можно полный ifconfig?

Очень бы не хотелось заморачиваться с маршрутизацией внутри локалки. :(

в ифконфиге вроде ничего сверхъестественного...

em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC>
        ether 00:15:17:0f:81:74
        inet a.b.c.d netmask 0xfffffff0 broadcast a.b.c.h
        inet 192.168.1.100 netmask 0xffffffff broadcast 192.168.1.100
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
em1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC>
        ether 00:15:17:0f:81:75
        media: Ethernet autoselect
        status: no carrier
ipfw0: flags=8801<UP,SIMPLEX,MULTICAST> metric 0 mtu 65536
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=3<RXCSUM,TXCSUM>
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
        nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1456
        inet 192.168.0.99 --> 192.168.0.96 netmask 0xffffffff


Пробовал также ставить sysctl net.ether.что-то-там.proxyall=1 - тоже не помогло


"FreeBSD mpd5 VPN"
Отправлено asciiz , 03-Сен-11 22:54 

блин, только щас заметил флаг NOARP. o_o пойду курить маны)

"FreeBSD mpd5 VPN"
Отправлено asciiz , 03-Сен-11 23:03 
хм, сначала вроде заработало после Ifconfig ng0 arp, потом перестало. Курю дальше(

"FreeBSD mpd5 VPN"
Отправлено asciiz , 03-Сен-11 23:19 
> хм, сначала вроде заработало после Ifconfig ng0 arp, потом перестало. Курю дальше(

ага, net.link.ether.inet.proxyall=1 все-таки нужно прописывать.

Теперь осталось выяснить, как в скрипте if-up.sh прописать флаг ARP для каждого поднимающегося ng интерфейса. create_args_ng0="arp" в rc.conf не помогает почему-то

ЗЫ. Спасибо за помощь)


"FreeBSD mpd5 VPN"
Отправлено Grey , 03-Сен-11 23:29 
>> Мне кажется, что смена IP-адресов в "poolinet" поможет. Можно полный ifconfig?
> Очень бы не хотелось заморачиваться с маршрутизацией внутри локалки. :(

а чего там заморачиваться? локалка смотрит по дефолту в адрес на роутере, удалённые клиенты смотрят по дефолту в адрес на роутер, уж роутер то будет понимать кто где находится ... чёт я не пойму в чём проблема? (и при чём тут про проксирование арп разговор?)

>[оверквотинг удален]
> lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
>         options=3<RXCSUM,TXCSUM>
>         inet6 fe80::1%lo0 prefixlen 64
> scopeid 0x4
>         inet6 ::1 prefixlen 128
>         inet 127.0.0.1 netmask 0xff000000
>         nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
> ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1456
>         inet 192.168.0.99 --> 192.168.0.96
> netmask 0xffffffff

а где интерфейс, который смотрит в локалку с 192.168.0.0/24 ? или в первом посту опечатка?
а вот если таки есть интерфейс из сети 192.168.0.0/24 смотрящий в ЛВС и при этом на другом интерфейсе клиент с тойже сетью - то ССЗБ таки .... стройте огороды на костылях ... вместо штатных и простых как трусы средств ... :)


"FreeBSD mpd5 VPN"
Отправлено asciiz , 03-Сен-11 23:36 
>> а чего там заморачиваться? локалка смотрит по дефолту в адрес на роутере,
> удалённые клиенты смотрят по дефолту в адрес на роутер, уж роутер
> то будет понимать кто где находится ... чёт я не пойму
> в чём проблема? (и при чём тут про проксирование арп разговор?)

На роутере все рассчитано на сеть 192.168.0.0/24, причем без всяких таблиц, ибо древний ipfw) в общем, муторно.

Про арп - ибо когда от клиента идет запрос на какую-нибудь машину в локалке, эта машина резонно спрашивает "who has 192.168.0.96" (адрес vpn-клиента, который прячется ЗА ng интерфейсом). А VPN сервер делает pokerface, и свой mac адрес не отдает в ответ на этот запрос)

> а где интерфейс, который смотрит в локалку с 192.168.0.0/24 ? или в
> первом посту опечатка?

Интерфейс только виртуальный - ng*, ему mpd при создании дает inet 192.168.0.99 и этого вроде как вполне достаточно.


С назначением флага ARP вроде как разобрался, в скрипте if-up.sh достаточно прописать ifconfig $1 arp

> а вот если таки есть интерфейс из сети 192.168.0.0/24 смотрящий в ЛВС и при этом на другом интерфейсе клиент с тойже сетью - то ССЗБ таки .... стройте огороды на костылях ... вместо штатных и простых как трусы средств ... :)

Да у меня так и есть) мой айпад подключен к домашнему вайфаю, где сеть имеет тот же номер. Приходится отключать вайфай перед включением VPN :) И кстати proxy-arp - это и есть самое штатное средство)

PS. Серега ты? ;)


"FreeBSD mpd5 VPN"
Отправлено Grey , 03-Сен-11 23:44 
>[оверквотинг удален]
> в локалке, эта машина резонно спрашивает "who has 192.168.0.96" (адрес vpn-клиента,
> который прячется ЗА ng интерфейсом). А VPN сервер делает pokerface, и
> свой mac адрес не отдает в ответ на этот запрос)
>> а где интерфейс, который смотрит в локалку с 192.168.0.0/24 ? или в
>> первом посту опечатка?
> Интерфейс только виртуальный - ng*, ему mpd при создании дает inet 192.168.0.99
> и этого вроде как вполне достаточно.
> С назначением флага ARP вроде как разобрался, в скрипте if-up.sh достаточно прописать
> ifconfig $1 arp
> PS. Серега ты? ;)

два интерфейса в одной сети - Вам два балла однако! или хотите сегмент ЛВС продлить до удалённого клиента в инете? вот где муторно..... а про древний ipfw и т.п.: посмотрите netstat -nr, потом повесьте на какой-нить интерфейс адрес из неиспользуемой сети и ещё раз netstat -nr ... и ооочень внимательно сравните таблицы маршрутов.... это я к тому что маршрутизация и ipfw с таблицами :) имхо не о том Вы это ....
ИМХО: на удалённых клиентов выделить подсеть к примеру 192.168.1.0/24 и всё заработает без доп маршрутов на роутере и "таблиц в древнем ipfw", хотя есть одно сомнение, если всё ради виндовых шар - то останутся вопросы скорее всего, сам такие вещи стараюсь не делать, не стоит создавать себе проблему и потом с доблестью и костылями её преодолевать :)


"FreeBSD mpd5 VPN"
Отправлено Grey , 03-Сен-11 23:48 
> Да у меня так и есть) мой айпад подключен к домашнему вайфаю,
> где сеть имеет тот же номер. Приходится отключать вайфай перед включением
> VPN :) И кстати proxy-arp - это и есть самое штатное
> средство)

ну да ... штатное, только немного в других ситуациях имхо....

если Вам нужно подключить к ЛВС удалённого клиента, сделайте как советовал. ничего нет муторного в таком варианте... роутер вообще-то разбивает сегмент, а ARP бегает только в пределах сегмента. не надо тащить его в другой интерфейс, ну не красиво это...


"FreeBSD mpd5 VPN"
Отправлено rusadmin , 04-Сен-11 12:37 
>> Да у меня так и есть) мой айпад подключен к домашнему вайфаю,
>> где сеть имеет тот же номер. Приходится отключать вайфай перед включением
>> VPN :) И кстати proxy-arp - это и есть самое штатное
>> средство)
> ну да ... штатное, только немного в других ситуациях имхо....
> если Вам нужно подключить к ЛВС удалённого клиента, сделайте как советовал. ничего
> нет муторного в таком варианте... роутер вообще-то разбивает сегмент, а ARP
> бегает только в пределах сегмента. не надо тащить его в другой
> интерфейс, ну не красиво это...

Поддерживаю, таскать арп в другой широковещательный домен это как то не по хозяйски =) Достаточно будет грузить проц пересылкой пакетов и их икапсюляцией


"FreeBSD mpd5 VPN"
Отправлено Grey , 04-Сен-11 23:30 
>[оверквотинг удален]
>>> где сеть имеет тот же номер. Приходится отключать вайфай перед включением
>>> VPN :) И кстати proxy-arp - это и есть самое штатное
>>> средство)
>> ну да ... штатное, только немного в других ситуациях имхо....
>> если Вам нужно подключить к ЛВС удалённого клиента, сделайте как советовал. ничего
>> нет муторного в таком варианте... роутер вообще-то разбивает сегмент, а ARP
>> бегает только в пределах сегмента. не надо тащить его в другой
>> интерфейс, ну не красиво это...
> Поддерживаю, таскать арп в другой широковещательный домен это как то не по
> хозяйски =) Достаточно будет грузить проц пересылкой пакетов и их икапсюляцией

точно :) роутер - зло, он задержку в сети даёт ... :)