Пытаюсь поднять VPN на сервере, чтоб подключаться из дома к локалке.Не хочет включаться proxy-arp для клиентского айпишника.
Имеем локалку 192.168.0.0/24, хочу несколько адресов выделить для VPN-подключений.
Конфиг вроде классический:
startup:
default:
load pptp1pptp1:
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 интерфейс?
>[оверквотинг удален]
> 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?
> Мне кажется, что смена 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 - тоже не помогло
блин, только щас заметил флаг NOARP. o_o пойду курить маны)
хм, сначала вроде заработало после Ifconfig ng0 arp, потом перестало. Курю дальше(
> хм, сначала вроде заработало после Ifconfig ng0 arp, потом перестало. Курю дальше(ага, net.link.ether.inet.proxyall=1 все-таки нужно прописывать.
Теперь осталось выяснить, как в скрипте if-up.sh прописать флаг ARP для каждого поднимающегося ng интерфейса. create_args_ng0="arp" в rc.conf не помогает почему-то
ЗЫ. Спасибо за помощь)
>> Мне кажется, что смена 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 смотрящий в ЛВС и при этом на другом интерфейсе клиент с тойже сетью - то ССЗБ таки .... стройте огороды на костылях ... вместо штатных и простых как трусы средств ... :)
>> а чего там заморачиваться? локалка смотрит по дефолту в адрес на роутере,
> удалённые клиенты смотрят по дефолту в адрес на роутер, уж роутер
> то будет понимать кто где находится ... чёт я не пойму
> в чём проблема? (и при чём тут про проксирование арп разговор?)На роутере все рассчитано на сеть 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. Серега ты? ;)
>[оверквотинг удален]
> в локалке, эта машина резонно спрашивает "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", хотя есть одно сомнение, если всё ради виндовых шар - то останутся вопросы скорее всего, сам такие вещи стараюсь не делать, не стоит создавать себе проблему и потом с доблестью и костылями её преодолевать :)
> Да у меня так и есть) мой айпад подключен к домашнему вайфаю,
> где сеть имеет тот же номер. Приходится отключать вайфай перед включением
> VPN :) И кстати proxy-arp - это и есть самое штатное
> средство)ну да ... штатное, только немного в других ситуациях имхо....
если Вам нужно подключить к ЛВС удалённого клиента, сделайте как советовал. ничего нет муторного в таком варианте... роутер вообще-то разбивает сегмент, а ARP бегает только в пределах сегмента. не надо тащить его в другой интерфейс, ну не красиво это...
>> Да у меня так и есть) мой айпад подключен к домашнему вайфаю,
>> где сеть имеет тот же номер. Приходится отключать вайфай перед включением
>> VPN :) И кстати proxy-arp - это и есть самое штатное
>> средство)
> ну да ... штатное, только немного в других ситуациях имхо....
> если Вам нужно подключить к ЛВС удалённого клиента, сделайте как советовал. ничего
> нет муторного в таком варианте... роутер вообще-то разбивает сегмент, а ARP
> бегает только в пределах сегмента. не надо тащить его в другой
> интерфейс, ну не красиво это...Поддерживаю, таскать арп в другой широковещательный домен это как то не по хозяйски =) Достаточно будет грузить проц пересылкой пакетов и их икапсюляцией
>[оверквотинг удален]
>>> где сеть имеет тот же номер. Приходится отключать вайфай перед включением
>>> VPN :) И кстати proxy-arp - это и есть самое штатное
>>> средство)
>> ну да ... штатное, только немного в других ситуациях имхо....
>> если Вам нужно подключить к ЛВС удалённого клиента, сделайте как советовал. ничего
>> нет муторного в таком варианте... роутер вообще-то разбивает сегмент, а ARP
>> бегает только в пределах сегмента. не надо тащить его в другой
>> интерфейс, ну не красиво это...
> Поддерживаю, таскать арп в другой широковещательный домен это как то не по
> хозяйски =) Достаточно будет грузить проц пересылкой пакетов и их икапсюляциейточно :) роутер - зло, он задержку в сети даёт ... :)