FreeBSD 8.0 + MPD5 не видно компы в сети ...
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
- tray.irk
- сержант
- Сообщения: 266
- Зарегистрирован: 2008-10-22 8:21:36
- Откуда: Иркутск
- Контактная информация:
Re: FreeBSD 8.0 + MPD5 не видно компы в сети ...
кажись проблема описанна тут http://forum.lissyara.su/viewtopic.php?f=3&t=22301
Числа не управляют миром, но могут показать как управляется мир
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
- tray.irk
- сержант
- Сообщения: 266
- Зарегистрирован: 2008-10-22 8:21:36
- Откуда: Иркутск
- Контактная информация:
Re: FreeBSD 8.0 + MPD5 не видно компы в сети ...
Народ проблемма так и не решилась ( что делать?
Числа не управляют миром, но могут показать как управляется мир
- schizoid
- подполковник
- Сообщения: 3228
- Зарегистрирован: 2007-03-03 17:32:31
- Откуда: Украина, Чернигов
- Контактная информация:
Re: FreeBSD 8.0 + MPD5 не видно компы в сети ...
какая версия mpd? и ОСи?
у меня
все работает
у меня
Код: Выделить всё
# pkg_info | grep mpd
mpd-5.3 Multi-link PPP daemon based on netgraph(4)
# uname -a
FreeBSD gate.brain.lan 7.1-RELEASE-p9 FreeBSD 7.1-RELEASE-p9 #2: Fri Dec 4 20:55:25 EET 2009 eugene@gate.brain.lan:/usr/obj/usr/src/sys/GENERIC i386
ядерный взрыв...смертельно красиво...жаль, что не вечно...
- tray.irk
- сержант
- Сообщения: 266
- Зарегистрирован: 2008-10-22 8:21:36
- Откуда: Иркутск
- Контактная информация:
Re: FreeBSD 8.0 + MPD5 не видно компы в сети ...
я же говорю ... на 7.2 у меня тоже все работало.
Поставил 8.0 и на те ...
версия mpd 5.4
Поставил 8.0 и на те ...
версия mpd 5.4
Числа не управляют миром, но могут показать как управляется мир
-
- проходил мимо
Re: FreeBSD 8.0 + MPD5 не видно компы в сети ...
и MPD4 тоже не пашет у него
- schizoid
- подполковник
- Сообщения: 3228
- Зарегистрирован: 2007-03-03 17:32:31
- Откуда: Украина, Чернигов
- Контактная информация:
Re: FreeBSD 8.0 + MPD5 не видно компы в сети ...
может на 5.3 откатиться?tray.irk писал(а):я же говорю ... на 7.2 у меня тоже все работало.
Поставил 8.0 и на те ...
версия mpd 5.4
ядерный взрыв...смертельно красиво...жаль, что не вечно...
- tray.irk
- сержант
- Сообщения: 266
- Зарегистрирован: 2008-10-22 8:21:36
- Откуда: Иркутск
- Контактная информация:
Re: FreeBSD 8.0 + MPD5 не видно компы в сети ...
делал ... ноль
все же я грешу на маршрутизацию ... что то в ней не так
все же я грешу на маршрутизацию ... что то в ней не так
Числа не управляют миром, но могут показать как управляется мир
- Lord Beaver
- рядовой
- Сообщения: 31
- Зарегистрирован: 2009-12-26 20:37:45
- Откуда: Волгоград
Re: FreeBSD 8.0 + MPD5 не видно компы в сети ...
У меня похожая ситуация. Обвил сервак 7.2 -> 8.0, появились такие баги с MPD5:
1. Первое подключение после загрузки всегда неудачно, все остальные проходят гладко.
2. После первого подключения bind отказывается отдает dns если нет ни одного подключенного клиента. При этом таблица маршрутов не меняется.
3. Не видна локалка, только сам сервак.
Первые две проблемы решились патчем, на третью пока забил, благо не критично. Так что ты не одинок
1. Первое подключение после загрузки всегда неудачно, все остальные проходят гладко.
2. После первого подключения bind отказывается отдает dns если нет ни одного подключенного клиента. При этом таблица маршрутов не меняется.
3. Не видна локалка, только сам сервак.
Первые две проблемы решились патчем, на третью пока забил, благо не критично. Так что ты не одинок

- tray.irk
- сержант
- Сообщения: 266
- Зарегистрирован: 2008-10-22 8:21:36
- Откуда: Иркутск
- Контактная информация:
Re: FreeBSD 8.0 + MPD5 не видно компы в сети ...
1 и 2 проблеммы я не наблюдал ... а вот 3 проблемма для меня критична!
Числа не управляют миром, но могут показать как управляется мир
- tray.irk
- сержант
- Сообщения: 266
- Зарегистрирован: 2008-10-22 8:21:36
- Откуда: Иркутск
- Контактная информация:
Re: FreeBSD 8.0 + MPD5 не видно компы в сети ...
В итоге плюнув на все это дело ... поставил OpenVPN и все пошло 

Числа не управляют миром, но могут показать как управляется мир
- schizoid
- подполковник
- Сообщения: 3228
- Зарегистрирован: 2007-03-03 17:32:31
- Откуда: Украина, Чернигов
- Контактная информация:
Re: FreeBSD 8.0 + MPD5 не видно компы в сети ...
грустно. может тогда Мотину отписаться?
Код: Выделить всё
MAINTAINER= mav@FreeBSD.org
ядерный взрыв...смертельно красиво...жаль, что не вечно...
-
- рядовой
- Сообщения: 36
- Зарегистрирован: 2008-07-16 11:21:58
Re: FreeBSD 8.0 + MPD5 не видно компы в сети ...
Очень грустно, ибо та же проблема, на 7,2 все работало.
Но на 7,2 был другой глюк который мне жить не давал пришлось на 8-рку обновится.
net0 - физ. интерфейс, внутреняя локалка 192.168.40.2/24
mpd раздает адреса в диапазоне 192.168.40.0/24{40-254}
адрес машины в внутренней локалке 192.168.40.20
tcpdump -i net0 при запущеном пинге с удаленной тачки (при подключенном впн соответственно)
192.168.40.254 - адрес получаемый впн клиентом
Также клиент получает маршрут от впн сервера 192.168.40.0/24 192.168.40.254
192.168.40.4 - это set ipcp ranges 192.168.40.4/32 ippool pool1
Перепробовал столько вариантов с маршрутами что описывать сил нету.
Также отмечу что маршрутизации между двумя впнками тоже как-то...
Дамп пингов с 254 на 151. Не бегают.
З.Ы. Интернет на те же впн подключения раздается без проблем.
З.З.Ы. Нат убирать тоже побывал.
Но на 7,2 был другой глюк который мне жить не давал пришлось на 8-рку обновится.
net0 - физ. интерфейс, внутреняя локалка 192.168.40.2/24
mpd раздает адреса в диапазоне 192.168.40.0/24{40-254}
адрес машины в внутренней локалке 192.168.40.20
tcpdump -i net0 при запущеном пинге с удаленной тачки (при подключенном впн соответственно)
Код: Выделить всё
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on net0, link-type EN10MB (Ethernet), capture size 68 bytes
11:48:23.837674 IP 192.168.40.254 > 192.168.40.20: ICMP echo request, id 768, seq 31489, length 40
11:48:23.837904 ARP, Request who-has 192.168.40.254 tell 192.168.40.20, length 46
11:48:29.338073 IP 192.168.40.254 > 192.168.40.20: ICMP echo request, id 768, seq 31745, length 40
11:48:29.338305 ARP, Request who-has 192.168.40.254 tell 192.168.40.20, length 46
11:48:34.838082 IP 192.168.40.254 > 192.168.40.20: ICMP echo request, id 768, seq 32001, length 40
11:48:34.838315 ARP, Request who-has 192.168.40.254 tell 192.168.40.20, length 46
Также клиент получает маршрут от впн сервера 192.168.40.0/24 192.168.40.254
Код: Выделить всё
netstat -rn
192.168.40.0/24 link#1 U 0 2069 net0
192.168.40.4 link#6 UHS 0 0 lo0
192.168.40.254 link#6 UH 0 9 ng1
Перепробовал столько вариантов с маршрутами что описывать сил нету.
Также отмечу что маршрутизации между двумя впнками тоже как-то...
Код: Выделить всё
tcpdump -i ng2 | grep ICMP
11:57:08.346619 IP 192.168.40.254 > 192.168.40.151: ICMP echo request, id 768, seq 55809, length 40
11:57:08.427624 IP 192.168.40.151 > 192.168.40.254: ICMP echo reply, id 768, seq 55809, length 40
11:57:13.846740 IP 192.168.40.254 > 192.168.40.151: ICMP echo request, id 768, seq 56065, length 40
11:57:14.045764 IP 192.168.40.151 > 192.168.40.254: ICMP echo reply, id 768, seq 56065, length 40
11:57:19.346913 IP 192.168.40.254 > 192.168.40.151: ICMP echo request, id 768, seq 56321, length 40
11:57:19.530073 IP 192.168.40.151 > 192.168.40.254: ICMP echo reply, id 768, seq 56321, length 40
11:57:24.847083 IP 192.168.40.254 > 192.168.40.151: ICMP echo request, id 768, seq 56577, length 40
11:57:24.909381 IP 192.168.40.151 > 192.168.40.254: ICMP echo reply, id 768, seq 56577, length 40
Отмечу что, ng2 - интерфейс второй впнки с адресом 192.168.40.151
З.Ы. Интернет на те же впн подключения раздается без проблем.
З.З.Ы. Нат убирать тоже побывал.
-
- рядовой
- Сообщения: 36
- Зарегистрирован: 2008-07-16 11:21:58
Re: FreeBSD 8.0 + MPD5 не видно компы в сети ...
Добрался до интернета.
Проведение раскопок в данном направлении привело к незамедлительному обнаружению виновника -
опции из mpd.conf.
Попытка прописать в ручную закончилось ошибкой команды arp (намекаю mpd не виноват на самом деле).
Гугление ошибки и отбор из мусора хоть чего-то, привело к двум ссылкам.
1. это ссылка на патч который решает проблему: [читай до конца]
http://people.freebsd.org/~qingli/ppp-p ... 21515.diff
Патч оказался рабочим, но после него возникла проблема что на ip адресе висело несколько мак адресов.
2. http://www.freebsd.org/cgi/query-pr.cgi?pr=140358
Здесь прояснилось что проблема возникла в rc2, ибо не раз встречал в процессе гугления что в rc1 восьмерки все работало.
А также стало ясно, что 100% панацеи еще нету.
Ждемс!
Ну или патчим патч)
Проведение раскопок в данном направлении привело к незамедлительному обнаружению виновника -
опции из mpd.conf.
Код: Выделить всё
# set iface enable proxy-arp
Гугление ошибки и отбор из мусора хоть чего-то, привело к двум ссылкам.
1. это ссылка на патч который решает проблему: [читай до конца]
http://people.freebsd.org/~qingli/ppp-p ... 21515.diff
Патч оказался рабочим, но после него возникла проблема что на ip адресе висело несколько мак адресов.
2. http://www.freebsd.org/cgi/query-pr.cgi?pr=140358
Здесь прояснилось что проблема возникла в rc2, ибо не раз встречал в процессе гугления что в rc1 восьмерки все работало.
А также стало ясно, что 100% панацеи еще нету.
Ждемс!
Ну или патчим патч)
- tray.irk
- сержант
- Сообщения: 266
- Зарегистрирован: 2008-10-22 8:21:36
- Откуда: Иркутск
- Контактная информация:
Re: FreeBSD 8.0 + MPD5 не видно компы в сети ...
Можно уточнить как применять патч? я честно признаться это первый раз делаю и не знаю ... a то что проблемма с proxy-arp это было видно сразу при запуске mpd ручками /usr/local/sbin/mpd5 и там сразу вываливалась .....
Можно подробнее про патч? ... как что ставил? и решилась ли проблемма? стало ли видно сетку?
Можно подробнее про патч? ... как что ставил? и решилась ли проблемма? стало ли видно сетку?
Числа не управляют миром, но могут показать как управляется мир
-
- рядовой
- Сообщения: 36
- Зарегистрирован: 2008-07-16 11:21:58
Re: FreeBSD 8.0 + MPD5 не видно компы в сети ...
Я не надолго, так как с вайфая на вокзале и спешу очень!tray.irk писал(а):Можно уточнить как применять патч? я честно признаться это первый раз делаю и не знаю ... a то что проблемма с proxy-arp это было видно сразу при запуске mpd ручками /usr/local/sbin/mpd5 и там сразу вываливалась .....
Можно подробнее про патч? ... как что ставил? и решилась ли проблемма? стало ли видно сетку?
Заходим по ссылке патча, содержимое сохраняем в текстовый файл.
http://www.cyberciti.biz/faq/freebsd-pa ... e-bind-9x/
http://forum.lissyara.su/viewtopic.php? ... ch#p218940
Вот несколько примеров как патчить. а вообще конечно man patch.
Вместо имени файлика с патчем подставляем тот что сохранили.
У меня патч заработал, сети стали доступными, но ненужные маки начали светится на ip адресе.
Разбираться почему нет времени. Такое положение дел меня не устраивало.
Да и вашего провайдера врятли устроит, хотя кто знает.
Собственно говоря я в качестве временного решения, подкинул ему старый arp и все что к нему прилагается.
Не самое элегантное решение конечно, но у меня сейчас куча работы и в основном по командировкам, так что некогда заниматься вопросом.
Сегодня ночью уезжал в командировку где-то в часа 2 ночи (GMT+2), все работало.
uptime системы после замены арп 6,5 часов, 481 впн подключений, и как говорится полет нормальный.
З.Ы. Но все-таки жду адекватного решения, а не то как я сделал.
----------------------edit-------------------------
А вот таки не у всех и не сразу, во первых у меня не так часто перезапускается а во вторых я использую /usr/local/etc/rc.d/mpd5 restart, так имхо правильней.a то что проблемма с proxy-arp это было видно сразу при запуске mpd ручками /usr/local/sbin/mpd5 и там сразу вываливалась .....
Плюс можно убрать прокси арп из конфига мпд и тогда ругани небудет. Интеренет раздается на ура и все что надо, небудет только прямого доступа к другим интерфейсам.
Я где нету удаленного доступа во внутреннюю сеть так и зделал, а арп подменял только на роутере конторы, где люди на свои компы удаленно ходят.
-
- проходил мимо
- Сообщения: 4
- Зарегистрирован: 2009-06-27 2:33:50
Re: FreeBSD 8.0 + MPD5 не видно компы в сети ...
Поднял OpenVPN.
Клиент ОпенВПН подсоединяется к серверу и видит виртуальный туннель клиентов MPD5 – сервера, но клиенты MPD5 не видят виртуальную подсеть OpenVpn клиентов.
Тоесть это второй способ , чтобы увидеть клиента MPD5, но MPD5 не видит OpenVPN клиентов. Первый способ MPD5 видит MPD5 клиента.
Из локалки офиса MPD5 клиент не пинговался вообще.
Можно только пропинговать виртуальный шлюз 172.16.253.1 ,а все остальное из виртуальной подсети ОпенВПН , MPD5 никак не пингует. Наверно проблема таже что и с локалкой, все теже симптомы .
Клиенты MPD5 видят только полностью свою виртуальную подсеть и все Гетвеи на сервере ФриБСД.
Одна сетевая карта смотрит в локальную сеть офиса 10.30.111.8:255.255.255.128 , сервер является шлюзом для офиса и имеет IP 10.30.111.8.
Вторая сетевая карта смотрит в сторону провайдера с настройками 10.44.111.220:255.255.255.0.
Шлюз провайдера 10.44.111.5.
Виртуальная подсеть MPD5 клиентов.
10.30.111.128:255.255.255.128.
Виртуальная подсеть OpenVPN клиентов.
172.16.253.1:255.255.255.0.
Соответственно задача: клиенту VPN MPD5 видеть OpenVPN клиента. Тяжело перевести большую базу клиентов MPD5 на ОпенВПН , да для многих неудобно и не нужно …
Может есть у кого какие мысли или уже результаты ?
Настройки для OpenVpn
Пример конфига одного из клиентов ” client01 ” на сервере в папке /usr/local/etc/openvpn/ccd/
Пример конфига одного из клиентов ” client02 ” на сервере в папке /usr/local/etc/openvpn/ccd/
Конфиг сервера server.conf
Конфиг клиента
Конфиг MPD5
IPFW
Зарание спасибо за Ваш ответ.
Клиент ОпенВПН подсоединяется к серверу и видит виртуальный туннель клиентов MPD5 – сервера, но клиенты MPD5 не видят виртуальную подсеть OpenVpn клиентов.
Тоесть это второй способ , чтобы увидеть клиента MPD5, но MPD5 не видит OpenVPN клиентов. Первый способ MPD5 видит MPD5 клиента.
Из локалки офиса MPD5 клиент не пинговался вообще.
Можно только пропинговать виртуальный шлюз 172.16.253.1 ,а все остальное из виртуальной подсети ОпенВПН , MPD5 никак не пингует. Наверно проблема таже что и с локалкой, все теже симптомы .
Клиенты MPD5 видят только полностью свою виртуальную подсеть и все Гетвеи на сервере ФриБСД.
Одна сетевая карта смотрит в локальную сеть офиса 10.30.111.8:255.255.255.128 , сервер является шлюзом для офиса и имеет IP 10.30.111.8.
Код: Выделить всё
ifconfig_re0="inet 10.30.111.8 netmask 255.255.255.128"
Код: Выделить всё
ifconfig_em0="inet 10.44.111.220 netmask 255.255.255.0"
Код: Выделить всё
defaultrouter="10.44.111.5"
10.30.111.128:255.255.255.128.
Код: Выделить всё
vpn:
set ippool add pool1 10.30.111.129 10.30.111.254
set ipcp ranges 10.30.111.128/25 ippool poolsat
172.16.253.1:255.255.255.0.
Код: Выделить всё
server 172.16.253.0 255.255.255.0
Соответственно задача: клиенту VPN MPD5 видеть OpenVPN клиента. Тяжело перевести большую базу клиентов MPD5 на ОпенВПН , да для многих неудобно и не нужно …
Может есть у кого какие мысли или уже результаты ?
Настройки для OpenVpn
Код: Выделить всё
#Ядро
options IPSEC
options IPSEC_DEBUG
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
options IPFIREWALL_FORWARD
options IPDIVERT
options DUMMYNET
device crypto
device tun
device tap
Код: Выделить всё
ifconfig-push 172.16.253.2 172.16.253.1
#iroute 172.16.253.0 255.255.255.0
#iroute 10.44.111.0 255.255.255.0
#iroute 10.30.111.0 255.255.255.128
Пример конфига одного из клиентов ” client02 ” на сервере в папке /usr/local/etc/openvpn/ccd/
Код: Выделить всё
ifconfig-push 172.16.253.6 172.16.253.5
#iroute 172.16.253.0 255.255.255.0
#iroute 10.44.111.0 255.255.255.0
#iroute 10.30.111.0 255.255.255.128
Конфиг сервера server.conf
Код: Выделить всё
port 1194
proto udp
local 10.44.111.220
dev tun0
ca /usr/local/etc/openvpn/keys/ca.crt
cert /usr/local/etc/openvpn/keys/lacktic.spb.ru.crt
key /usr/local/etc/openvpn/keys/lacktic.spb.ru.key
dh /usr/local/etc/openvpn/keys/dh1024.pem
tls-auth /usr/local/etc/openvpn/keys/ta.key 0
daemon
server 172.16.253.0 255.255.255.0
push "route 10.30.111.0 255.255.255.0"
route 172.16.253.0 255.255.255.252
#route 10.44.111.0 255.255.255.0
#route 10.30.111.128 255.255.255.128
push "redirect-gateway" # full gateway
client-config-dir ccd
client-to-client
ifconfig-pool-persist ipp.txt
push "dhcp-option DNS 195.67.160.3"
tls-server
tls-timeout 120
auth MD5
cipher AES-256-CBC
keepalive 10 120
comp-lzo
max-clients 250
user nobody
group nobody
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log /var/log/openvpn/openvpn.log
verb 3
Код: Выделить всё
dev tun
proto udp
remote 10.44.111.220
port 1194
client
push "redirect-gateway"
resolv-retry infinite
auth MD5
keepalive 10 120
cipher AES-256-CBC
comp-lzo
persist-key
persist-tun
verb 3
#mute 5
log C:/OpenVPN/openvpn.log
status C:/OpenVPN/openvpn.stat
ca C:/OpenVPN/ca.crt
cert C:/OpenVPN/client02.crt
key C:/OpenVPN/client02.key
tls-auth C:/OpenVPN/ta.key 1
tls-client
Конфиг MPD5
Код: Выделить всё
startup:
set user lacktic Password admin
set user kodzero Password
set console self 10.30.111.8 8181
set console open
set web self 10.30.111.8 8182
set web open
default:
load vpn
vpn:
set ippool add pool1 10.30.111.129 10.30.111.254
# Create clonable bundle template named B
create bundle template B
set iface enable proxy-arp
set iface idle 1800
set iface enable tcpmssfix
set ipcp yes vjcomp
# Specify IP address pool for dynamic assigment.
set ipcp ranges 10.30.111.128/25 ippool poolsat
set ipcp dns 213.115.226.2 213.199.96.131
# The five lines below enable Microsoft Point-to-Point encryption
# (MPPE) using the ng_mppc(8) netgraph node type.
set bundle enable compression
set ccp yes mppc
set mppc yes e40
set mppc yes e128
set mppc yes stateless
# Create clonable link template named L
create link template L pptp
# Set bundle template to use
set link action bundle B
# Multilink adds some overhead, but gives full 1500 MTU.
set link enable multilink
set link yes acfcomp protocomp
set link no pap chap
set link enable chap
set link keep-alive 10 60
# We reducing link mtu to avoid GRE packet fragmentation
set link mtu 1460
# Configure PPTP
set pptp self 10.44.111.220
# Allow to accept calls
set link enable incoming
Код: Выделить всё
add 03500 allow all from any to any in via tun0
add 03600 allow all from any to any out via tun0
-
- проходил мимо
Re: FreeBSD 8.0 + MPD5 не видно компы в сети ...
Обратите внимание на применение патча http://people.freebsd.org/~qingli/ppp-p ... 21515.diff для FreeBSD8.0 RELEASE x86
у меня было так:
посмотрел исходники, ошибка скрывалась вот тут:
нужно заменить на "#ifdef DIAGNOSTICS", не хватает "S"
у меня было так:
Код: Выделить всё
|Index: sys/netinet/in.c
|===================================================================
|--- sys/netinet/in.c (revision 200582)
|+++ sys/netinet/in.c (working copy)
--------------------------
Patching file sys/netinet/in.c using Plan A...
Hunk #1 succeeded at 924.
Hunk #2 succeeded at 1059.
Hunk #3 succeeded at 1073.
Hunk #4 succeeded at 1352.
Hunk #5 failed at 1361.
Hunk #6 succeeded at 1414.
1 out of 6 hunks failed--saving rejects to sys/netinet/in.c.rej
Код: Выделить всё
@@ -1326,7 +1361,8 @@
/* XXX rtalloc1 should take a const param */
rt = rtalloc1(__DECONST(struct sockaddr *, l3addr), 0, 0);
- if (rt == NULL || (rt->rt_flags & RTF_GATEWAY) || rt->rt_ifp != ifp) {
+ if (rt == NULL || (rt->rt_flags & RTF_GATEWAY) ||
+ ((rt->rt_ifp != ifp) && !(flags & LLE_PUB))) {
#ifdef DIAGNOSTIC