Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Получение маршрутов по DHCP  (Прочитано 4508 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн xei

  • Автор темы
  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Получение маршрутов по DHCP
« : 28 Декабрь 2013, 09:28:34 »
Привествую Всех
Возможно тут уже и подобная тематика
Но не нашёл её толком
Проблема в следующем :
при подключении Ubuntu Server 12 к провайдеру - не получаются маршруты при получении IP адреса
Провайдер выдаёт маршруты , при выдаче IP адреса - автоматически
На другом железе стоит у меня Xubuntu , которая исправно работает
Попробовал получить маршруты там - всё прекрасно вышло
Можете посоветовать - куда хоть смотреть ???
И каких пакетов или настроек не хватает , что в Ubuntu Server маршруты не получаются , а в Xubuntu - могут нормально получаться
P.S.
Пробовал также и Debian NetInstall - также маршруты не получаются (хотя Debian и хотел изначально поставить работать)
Но уже заинтересовал сам факт , что даже в одной ветке разработки - Ubuntu - в десктопной версии нормально можно получить маршруты , а в серверной - вообще не хочет получать маршруты


Пользователь решил продолжить мысль 28 Декабрь 2013, 09:37:37:
Да
Кстати
Задался также вопросом
Почему разработчикам не сделать вообще изначально так , чтобы Ubuntu могла спокойно получать маршруты по DHCP
Почему нужен такой гемор и с чем это связано ???
Почему не сделать сразу , как в Windows , чтобы при выдаче IP Ubuntu могла и получать маршруты
А если кому и не нужно будет - чтобы это можно было бы отключить в доступном варианте
 
« Последнее редактирование: 28 Декабрь 2013, 09:37:37 от xei »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13750
    • Просмотр профиля
Re: Получение маршрутов по DHCP
« Ответ #1 : 28 Декабрь 2013, 15:19:10 »
А вот дистрописатели Ubuntu (а именно Canonical) видимо посчитали, что это как раз неправильно с точки зрения безопасности. Ведь по основному стандарту DHCP раздаётся только основные сетевые настройки - адрес, маска, маршрут по умолчанию и адреса DNS. Всякие дополнительные маршруты должны разруливаться на уровне маршрутизаторов, а не клиентских машин.
Так что если надо - то вклЮчите. Смотрите в сторону /etc/dhcp3/dhclient.conf
Принимаю благодарности в WMR и WMZ на кошельки:
R158160676909 и Z313280060764

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1705
  • חתול המדען
    • Просмотр профиля
Re: Получение маршрутов по DHCP
« Ответ #2 : 29 Декабрь 2013, 14:32:38 »
А если кому и не нужно будет - чтобы это можно было бы отключить в доступном варианте
Именно это и сделано в серверной версии. Где смотреть вам ув. fisher74 подсказал, но путь всё-таки /etc/dhcp/.
Конкретно про опции dhcp: 121 и 249 в секции request.
« Последнее редактирование: 29 Декабрь 2013, 14:37:10 от KT315 »
Debian GNU\Linux 7.11; ICH7; r8169; Linux 4.14.32-atomd525mv-imq-ja1 (i686)
Ubuntu GNU\Linux 18.04; MCP61; forcedeth; 4.15.0-20-generic (x86_64)

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13750
    • Просмотр профиля
Re: Получение маршрутов по DHCP
« Ответ #3 : 29 Декабрь 2013, 15:04:07 »
но путь всё-таки /etc/dhcp/.
Зависит от версии
Принимаю благодарности в WMR и WMZ на кошельки:
R158160676909 и Z313280060764

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1705
  • חתול המדען
    • Просмотр профиля
Re: Получение маршрутов по DHCP
« Ответ #4 : 29 Декабрь 2013, 19:20:56 »
Таки да. У автора версия 12.X, с 11.10 используется DHCP 4.X, поэтому /etc/dhcp.
Debian GNU\Linux 7.11; ICH7; r8169; Linux 4.14.32-atomd525mv-imq-ja1 (i686)
Ubuntu GNU\Linux 18.04; MCP61; forcedeth; 4.15.0-20-generic (x86_64)

Оффлайн xei

  • Автор темы
  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: Получение маршрутов по DHCP
« Ответ #5 : 30 Декабрь 2013, 06:27:08 »
fisher74,
уже пробовал
мой провайдер раздаёт как раз маршруты по dhcp
и как раз - эти самые маршруты и не принимаются
и из-за них как раз и постоянно срывается интернет соединение

настройки же производил по http://homenet.beeline.ru/index.php?showtopic=170180

в общем-то - пришлось только дописать 1 файлик
всё остальное - уже было "настроено"
и в dhcpclient.conf также


Пользователь решил продолжить мысль 30 Декабрь 2013, 06:34:49:
KT315,
пробовал и debian 6 и debian 7 , и ubuntu 12.xx и ubuntu 13.xx - результат везде одинаков
маршруты не получаются вообще
видит по маршрутам тольео - полученный ip и всё

сейчас же на том железе крутится windows server 2003 standart edition c наложенным kerio - уже просто выхода не было...
Вот там как раз - маршруты получаются - на ура
соотвественно и инет работает - не ура
вот и задался вопросом - почему так сделано ?????
Что в windows принимаются маршруты - на ура
а в сборках типа ubuntu и debian - нет....




Пользователь решил продолжить мысль 30 Декабрь 2013, 06:39:36:
Хотя
Пробовал подключить Xubuntu напрямую к провайдеру с теми же настройками, что и делал на серверном варианте - маршруты получились на ура, соотвественно и инет подымался - также на ура
Для справки - инет подымается по vpn
Вот и получается, что в xubuntu - десктопном варианте маршруты получаются на ура
Зато в серверном варианте - вообще не получаются
Почему так сделано??
Опять же - для безопасности??
Но что в этом противозаконного - в получении маршруто??
И какую может нести угрозу??



Пользователь решил продолжить мысль 30 Декабрь 2013, 06:47:55:
если кому надо будут логи работы той же ubuntu или debian - могу переустановить ось через образы
И установить и настроить тот же ubuntu или debian для получения маршрутов и инета
В этом как раз проблем нет ...

P.S.
Те же debian и ubuntu - как раз и хотелось использовать в роли маршрутизатора из-за их лучшего быстродействия и меньшей нагрузки на железо , чем в windows
« Последнее редактирование: 30 Декабрь 2013, 06:47:55 от xei »

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1705
  • חתול המדען
    • Просмотр профиля
Re: Получение маршрутов по DHCP
« Ответ #6 : 30 Декабрь 2013, 12:28:47 »
Про быстродействие понятно. Давайте теперь выясним, по какой опции отдаются маршруты с dhcp-сервера. И отдаются ли вообще
Покажите
Код: Bash
  1. grep -Ev '^#|^$' /etc/dhcp/dhclient.conf
И во время попытки получения маршутов.
Код: Bash
  1. tcpdump -i $Ваш_интерфейс_к_провайдеру -nv port 67 or port 68
Я специально попробовал натравить dhclient на опцию 249. Как ни странно — заработало.
(Нажмите, чтобы показать/скрыть)
В запросе dhclient: Classless-Static-Route (option 121) и|или Classless-Static-Route-Microsoft (option 249)
В ответе dhcp-сервера: те же опции, но с выданными маршрутами.
Что касается ссылки, скрипт в /etc/dhcp/dhclient-exit-hooks.d/ для получения маршрутизации в последних версиях debian/ubuntu выглядит следующим образом:
(Нажмите, чтобы показать/скрыть)
Переделывается в раз на получение MS-route.
Ну и наконец, сравните конфиги с Xubuntu.
« Последнее редактирование: 30 Декабрь 2013, 12:30:26 от KT315 »
Debian GNU\Linux 7.11; ICH7; r8169; Linux 4.14.32-atomd525mv-imq-ja1 (i686)
Ubuntu GNU\Linux 18.04; MCP61; forcedeth; 4.15.0-20-generic (x86_64)

Оффлайн xei

  • Автор темы
  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: Получение маршрутов по DHCP
« Ответ #7 : 30 Декабрь 2013, 19:31:02 »
KT315,
за сегодня-завтра переустановлю на железе ось на ubuntu
настрою - как делал до этого
и отпишусь


Пользователь решил продолжить мысль 30 Декабрь 2013, 19:36:49:
да
кстати
если я вместо ubuntu поставлю debian - думаю ничего страшного не будет ?
линейка ведь одна ....


Пользователь решил продолжить мысль 30 Декабрь 2013, 21:33:31:
переустановил ось
на debian 6
он мне больше понравился

P.S.
Надо будет и с этой , уже настроенной оси , сделать образ
Придолбался настраивать её
Хоть и по уже сохраннёным наброскам


Пользователь решил продолжить мысль 30 Декабрь 2013, 21:34:14:
инет пока работает - так сяк
вот как раз - можно будет и настраивать ....


Пользователь решил продолжить мысль 30 Декабрь 2013, 21:35:36:
KT315,
root@My:~# grep -Ev '^#|^$' /etc/dhcp/dhclient.conf
option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
request subnet-mask, broadcast-address, time-offset, routers,
        domain-name, domain-name-servers, domain-search, host-name,
        netbios-name-servers, netbios-scope, interface-mtu,
        rfc3442-classless-static-routes, ntp-servers;


Пользователь решил продолжить мысль 30 Декабрь 2013, 21:40:54:
KT315,
tcpdump: listening on ppp0, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes
^C
0 packets captured
0 packets received by filter
0 packets dropped by kernel
root@My:~# ping ya.ru
PING ya.ru (213.180.193.3) 56(84) bytes of data.
64 bytes from www.yandex.ru (213.180.193.3): icmp_req=1 ttl=57 time=31.7 ms
64 bytes from www.yandex.ru (213.180.193.3): icmp_req=2 ttl=57 time=29.9 ms
^C
--- ya.ru ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 29.923/30.852/31.781/0.929 ms
root@My:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 64:70:02:02:a3:f1
          inet addr:10.0.81.164  Bcast:10.0.83.255  Mask:255.255.252.0
          inet6 addr: fe80::6670:2ff:fe02:a3f1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:234546 errors:0 dropped:0 overruns:0 frame:0
          TX packets:192808 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:146963041 (140.1 MiB)  TX bytes:79984163 (76.2 MiB)
          Interrupt:16 Base address:0xac00

eth1      Link encap:Ethernet  HWaddr 00:10:b5:68:7b:9d
          inet addr:1.1.1.254  Bcast:1.1.1.255  Mask:255.255.255.0
          inet6 addr: fe80::210:b5ff:fe68:7b9d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8458 errors:0 dropped:0 overruns:0 frame:0
          TX packets:14368 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1100663 (1.0 MiB)  TX bytes:16635349 (15.8 MiB)
          Interrupt:17 Base address:0xa800

eth2      Link encap:Ethernet  HWaddr 00:16:ec:b2:28:dc
          inet addr:2.2.2.254  Bcast:2.2.2.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:21

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:166 errors:0 dropped:0 overruns:0 frame:0
          TX packets:166 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:12609 (12.3 KiB)  TX bytes:12609 (12.3 KiB)

ppp0      Link encap:Point-to-Point Protocol
          inet addr:91.214.48.41  P-t-P:10.5.2.1  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:135523 errors:0 dropped:0 overruns:0 frame:0
          TX packets:106185 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:132295331 (126.1 MiB)  TX bytes:69527952 (66.3 MiB)

root@My:~#


Пользователь решил продолжить мысль 30 Декабрь 2013, 21:42:55:
надеюсь ip Вас не смутят ???
старался , чтобы выглядело более правоподобно ...

насчёт ...-exit-hooks.d - сейчас поразбираюсь немного
вполне возможно , что проблема в 121 или 249


Пользователь решил продолжить мысль 30 Декабрь 2013, 21:50:35:
>>>>> Ну и наконец, сравните конфиги с Xubuntu.
уже делал такое
один к одному
и как раз - толком не работало


Пользователь решил продолжить мысль 30 Декабрь 2013, 21:55:11:
сделал ещё и так
root@My:/etc/dhcp# grep -Ev '^#|^$' /etc/dhcp/dhclient.conf
option rfc3442-classless-static-routes code 249 = array of unsigned integer 8;
request subnet-mask, broadcast-address, time-offset, routers,
        domain-name, domain-name-servers, domain-search, host-name,
        netbios-name-servers, netbios-scope, interface-mtu,
        rfc3442-classless-static-routes, ntp-servers;
root@My:/etc/dhcp# tcpdump -i ppp0 -nv port 67 or port 68
tcpdump: listening on ppp0, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes
^C
0 packets captured
0 packets received by filter
0 packets dropped by kernel
root@My:/etc/dhcp#


Пользователь решил продолжить мысль 30 Декабрь 2013, 22:01:08:
сейчас сделал так ....
(Нажмите, чтобы показать/скрыть)
не знаю на сколько это правильно
но подметил , что после этих махинаций - ppp0 , т.е. инет соединение стало подыматься сразу , после передёргивания сетевых командой service networking restart
« Последнее редактирование: 30 Декабрь 2013, 22:01:08 от xei »

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1705
  • חתול המדען
    • Просмотр профиля
Re: Получение маршрутов по DHCP
« Ответ #8 : 30 Декабрь 2013, 22:03:03 »
Вы не там слушаете bootp. Не на ppp0, а на несушем интерфейсе, в сторону провайдера.
Функционал dhclient не позволяет принимать dhcp/bootp на интерфейсах точка-точка.
(Нажмите, чтобы показать/скрыть)
Debian GNU\Linux 7.11; ICH7; r8169; Linux 4.14.32-atomd525mv-imq-ja1 (i686)
Ubuntu GNU\Linux 18.04; MCP61; forcedeth; 4.15.0-20-generic (x86_64)

Оффлайн xei

  • Автор темы
  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: Получение маршрутов по DHCP
« Ответ #9 : 30 Декабрь 2013, 22:19:02 »
попробовал и так ...
Вы же написали , ppp0 - не является по сути несущим интерфейсом
так он идёт через eth0

root@My:/etc/ppp/peers# tcpdump -i eth0 -nv port 67 or port 68
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
^C
0 packets captured
82 packets received by filter
2 packets dropped by kernel
root@My:/etc/ppp/peers#

может тут что-то с ключами не то ???
что-то у меня не выдаёт даже приблизительного листинга , как у Вас

(Нажмите, чтобы показать/скрыть)

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1705
  • חתול המדען
    • Просмотр профиля
Re: Получение маршрутов по DHCP
« Ответ #10 : 30 Декабрь 2013, 22:27:08 »
Виноват, нужно было конечно же сказать, что на физическом.
Теперь смотрите.
Сперва в одной консоли запускаете tcpdump.
Код: Bash
  1. tcpdump -i eth0 -nv port 67 or port 68
В другой dhclient.
Код: Bash
  1. dhclient eth0
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 30 Декабрь 2013, 22:30:22 от KT315 »
Debian GNU\Linux 7.11; ICH7; r8169; Linux 4.14.32-atomd525mv-imq-ja1 (i686)
Ubuntu GNU\Linux 18.04; MCP61; forcedeth; 4.15.0-20-generic (x86_64)

Оффлайн xei

  • Автор темы
  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: Получение маршрутов по DHCP
« Ответ #11 : 30 Декабрь 2013, 22:38:02 »
всё сделал , как Вы и сказали
и в той последовательности , что и сказали
и получилось же
блин ...

(Нажмите, чтобы показать/скрыть)

(Нажмите, чтобы показать/скрыть)




Пользователь решил продолжить мысль 30 Декабрь 2013, 22:49:21:
(Нажмите, чтобы показать/скрыть)



Пользователь решил продолжить мысль 30 Декабрь 2013, 22:54:47:
я пока дёргаю в dhcpclient.conf те параметры 121 и 249
пока их включил оба
буду пока экспеременировать
по вылетам инета буду проверять - как часто будет отрубать инет

« Последнее редактирование: 30 Декабрь 2013, 22:54:47 от xei »

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1705
  • חתול המדען
    • Просмотр профиля
Re: Получение маршрутов по DHCP
« Ответ #12 : 30 Декабрь 2013, 23:02:15 »
Ну вообще говоря, надо бы всё-таки определится, либо 121, либо 249. Судя по выхлопу отдалась 249.
Я делал так:
В dhclient.conf добавив объявление option 249
option ms-classless-static-routes code 249 = array of unsigned integer 8;
И в секцию request
ms-classless-static-routes
(Нажмите, чтобы показать/скрыть)
И в /etc/dhcp/dhclient-exit-hooks.d/ создал файло ms-classless-static-routes следующего содержания.
(Нажмите, чтобы показать/скрыть)
Что делает переменная $RUN, думаю, должно быть понятно.

Пользователь решил продолжить мысль 30 Декабрь 2013, 23:10:53:
(Нажмите, чтобы показать/скрыть)

Пользователь решил продолжить мысль 31 Декабрь 2013, 01:48:59:
Ну вообще говоря, надо бы всё-таки определится, либо 121, либо 249.
Пардон, поторопился, судя по этому посту, выясняется экспериментально, хотя времени прошло много.
« Последнее редактирование: 31 Декабрь 2013, 01:48:59 от KT315 »
Debian GNU\Linux 7.11; ICH7; r8169; Linux 4.14.32-atomd525mv-imq-ja1 (i686)
Ubuntu GNU\Linux 18.04; MCP61; forcedeth; 4.15.0-20-generic (x86_64)

Оффлайн xei

  • Автор темы
  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: Получение маршрутов по DHCP
« Ответ #13 : 31 Декабрь 2013, 06:59:08 »
Я пока что сделал так
(Нажмите, чтобы показать/скрыть)
ясное дело - это явное нарушение
но подметил одно - инет соединение держится уже несколько часов подряд
как тогда - в windows server 2003 standart edition
я так понимаю , что мой провайдер в основном нацелен - на пользователей windows
когда я давно связывался с ихней тех.поддержкой - то мне именно и так и намекнули , что лучше всего , чтобы у пользователя стоял windows ? если будет стоять linux - это уже его проблемы ....
тут , я думаю , всё сказано ...

на xubuntu - пока не проверял конфигурацию
потом загляну ...

пока что - пусть поработает несколько суток
нужно поглядеть на сам режим работы и передёргивания инета и проверять по статистике провайдера - как часто происходили передёргивания инета
так как при всех этих шаманствах , ещё до этого , подметил , что вся беда была из-за маршрутов
если нормально получались - значит и был нормальный инет
если нет - значит - частые передёргивания гарантированны , в особенности - если начинает ложиться основная нагрузка на vpn канал из-за множества соединений , которые подымают пиринговые клиенты

(Нажмите, чтобы показать/скрыть)

Пользователь решил продолжить мысль 31 Декабрь 2013, 17:56:13:
Ну что я могу сказать ...
Инет после этого - работает стабильно
ВОзник вопрос в следующем
какая разница в строках
ms-classless-static-routes
и
rfc3442-classless-static-routes
если в конце будет использоваться одно и то же число 249 ????
я так понимаю
Строка
option ms-classless-static-routes code 249 = array of unsigned integer 8;
можно расшифровать как
файл_с_алгоритмом _принятия_маршрутов code номер_кода (далее не разбирался)
ведь в самом протоколе dhcp - нет самих передачи тестовых данных , я надеюсь ....
а только - числовые данные
в том числе - и этот код 249
Может я где-то не прав - подправьте ....
« Последнее редактирование: 31 Декабрь 2013, 17:56:13 от xei »

Оффлайн xei

  • Автор темы
  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: Получение маршрутов по DHCP
« Ответ #14 : 01 Январь 2014, 08:32:00 »
попробовал я сделать , как Вы посоветовали
сделал файл ms-classless-static-routes и впихнул в него содержимое , что Вы предложили
(Нажмите, чтобы показать/скрыть)

Пользователь решил продолжить мысль 01 Январь 2014, 08:43:23:
по сути дела , если так разобраться , то мне надо перекурить тонну маннуалов именно по этой проблеме , а именно по DHCP клиенту
сделать кучу эксперементальных попыток
и только тогда уже толком и с уверенностью сказать , где именно кроется сама проблема ...
пока что - именно по этой проблеме
не знаю почему
но именно последний расклад - работает нормально
почти как в windows


Пользователь решил продолжить мысль 01 Январь 2014, 10:22:06:
кстати подмечено
если до этого , при плохом выдаче маршрутов - переподключение инета происходило за счёт скрипта
то сейчас и поднятие инета и переподключение - происходят автоматически


Пользователь решил продолжить мысль 01 Январь 2014, 10:28:16:
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 01 Январь 2014, 10:28:16 от xei »

 

Страница сгенерирована за 0.198 секунд. Запросов: 24.