Linux : /etc

делимся знанием

Couldn’t allocate PPP unit 0 as it is already in use


На машине, где несколько интернет-провайдеров, соответственно имеются несколько ppp интерфейсов. Часто случается так, что неизвестно, который из провайдеров поднимет ppp-линк раньше и получит ppp0, ppp1 или вообще pppN. И тогда запросто возможна ситуация, когда второй по задумке провайдер, которому надо висеть не ppp1, вдруг появляется на ppp0, руша настроенные правила роутинга, файрволла и прочего сетевого хозяйства.

Подобную ситуацию можно, конечно, отследить в скрипте, меняя при необходимости имя сетвеого интерфейса ppp* на нужное. До поры до времени это работает.

Потом выясняется, что один из провайдеров мистическим образом непрерывно глючит, коннекта с ним нет никогда или почти никогда. В логах при этом, если приглядеться, мелькает запись вида: Couldn’t allocate PPP unit 0 as it is already in use

Проблема на самом деле решается очень просто. У pppd есть параметр unit N, где N есть закрепленный за данным экземпляром pppd номер интерфейса pppN. Таким образом, достаточно для всех ppp* в системе в соответствующих /etc/ppp/options.* дописать нужный unit 0, unit 1, etc, и проблема драки за номера pppN исчезнет навсегда.


Работа одновременно с двумя выделенными линиями. Часть 2. Локальные сети и интернет


В первой части речь шла о первичной настройке одновременной работы с двумя локальными сетями, к которым присоединен ваш компьютер. Несмотря на достаточно сырое изложение материала, рекомендую прочитать сначала её — там как минимум описаны нюансы конфигурирования ядра Linux, которые надо учесть при работе с утилитами расширенного роутинга пакета iproute2.

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

Читать дальше...