DimkaS
написал 5 ноября 2009 года в 16:30 (3424 просмотра)
Ведет себя
как мужчина; открыл 84 темы в форуме, оставил 922 комментария на сайте.
Дано: linux box. С одной стороны gprs через последовательный порт, с другой — eth.
Надо: чтобы полученный через gprs IP-адрес был на eth интерфейсе внешнего устройства, подключённого к linux box eth.
Иными словами — мост. Как я понял, bridge-utils применим только к eth-интерфейсам. Внешнее устройство умеет pppoe, но я не нашёл pppoe сервера для linux. Какие могут быть варианты?
Последние комментарии
- OlegL, 17 декабря 2023 года в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
>> но я не нашёл pppoe сервера для linux. Какие могут >>быть варианты?
Первая ссылка в гугле по запросу
PPPoE+server+Linux
http://www.opennet.ru/base/net/pppoe_firewall.txt.html
=)
Да, в дебе нашёлся pppoe-server в пакете pppoe :)
Это один вариант. Но есть второй — попробовать всё же организовать бридж. Судя по описанию bridge-utils, ppp может быть интерфейсом моста.
http://www.linuxfoundation.org/en/Net:Bridge
Можно создать виртуальный eth интерфейс и соединить его с ppp?
Можно ли игнорировать передаваемые по pppoe параметры соединения и устанавливать ppp-сессию самостоятельно, отдавая только полученный IP?
каша какая-то. проще всего было бы получить для внешнего устройства отдельный IP.
Каша, т.к. я пока плохо себе это представляю. Но общая картина такая: один физический eth интерфейс с двумя виртуальными — для web-интерфейса и pppoe-сервера. Далее, внешнее устройство прикидывается pppoe-клиентом и устанавливает соединение, получив IP-адрес на свой eth-интерфейс.
+++
Интересно, что в мануале на pppoe сказано:
Кто-нить в курсе, что используется в ADSL-модемах с eth-интерфейсом?
+++
Есть ещё kernel-mode сервер.
Пока что имею следующее
Не могу понять… где же должен работать pppd — на сервере, или на клиенте? Или на обоих?
На обоих.
Ага. Что-то начинаю понимать.. Два pppd связаны между собой клиентом и сервером pppoe.
Сейчас ситуация такая. На роутере запущен pppoe-server, на клиенте настроен pppoeconf. Сервер на запросы клиента о наличии концентратора отвечает. По команде pon dsl-provider начинается дозвон, но ответа от сервера нет:
Сервер говорит следующее:
tcpdump показывает ответ от сервера с ошибкой:
Поведение идентично багу: https://bugzilla.redhat.com/show_bug.cgi?id=222295, но применение указанного патча не даёт никакого эффекта.
На данный момент идей больше нет…
а можно еще раз — и более подробно — описать задачу?
Есть роутер на арме, который ходит в интернет через GPRS, используя GSM-модем. У роутера есть порт ethernet, через который он подключается в локалку и раздаёт интернет. При таком раскладе внешний IP получает роутер, а вся сеть за натом.
У заказчика есть железка с eth интерфейсом и нужно чтобы внешний IP был именно на этом интерфейсе. Как я понял, возможно это только через pppoe. Pppoe клиент в железке есть, нужен pppoe сервер в моём роутере.
Сейчас я пытаюсь понять, как это должно работать и реализовать, но успехов пока нет.
так в локалке есть и другие хосты, кроме этой железки?
Не знаю. А это существенно?
Пакет pptp имеет какое-то отношение к моей задаче?
Так, а чем DNAT не угодил заказчику? Или вы с ним на разных языках общаетесь?
Нужен IP адрес на интерфейсе, чтобы всю маршрутизацию делала его железка.
Задал вопрос на linuxforum.ru
Таки не вижу проблемы, DNAT по диапазону 1:65536 в одну сторону и SNAT в другую, весь трафик благополучно роутится на шелесяке.
Да, такой вариант мне предлагали. Проблема в том, то IP на интерфейсе остаётся внутренним. По-идее, это обычный DMZ. Эта функция у меня уже есть, надо проверить будет ли она работать так, как надо.
Другой вариант — получать внешний IP, а потом отдавать его железке по DHCP. Тут трудностей больше, но результат близок к желаемому.
В таком слуяае, ждём отчёта =)
Пока что новости такие: DMZ не катит. Заказчик обещал нарисовать свои идеи по этому поводу, но что-то до сих пор молчит.
ИМХО заказчик хочет странного. Он хочет пробросить свою подсеть в подсеть провайдера? странное желание.
я понять не могу принципиальной необходимости наличия внешнего ip на внутреннем интерфейсе железяки. Все *DSL модемы которые я видел работают через NAT.
Если же клиенту выдается набор белых IP которые потом надо раздать устройствам за роутером, то тут по-идее dhcp + роутинг.
опиши задачу полнее, а то не понять, к чему тут вообще что пришивается.
З.Ы. Нарисуй картинку того, что надо заказчику. Возможно станет понятнее.
З.Ы.Ы. Почитал что написано на линуксфоруме. Я правильно понимаю, что задача — сделать GSM модем «прозрачным» для роутера, который стоит за ним??
Да,именно так. Заказчик что-то не подаёт признаков интереса…