kaktak Опубликовано 25 июля, 2018 · Жалоба есть centos 7 понадобилось стерминировать на нем 256 ip адресов первое, что нагуглил - ifcfg-xxx-range0. В принципе работает... Генерирует кучу интерфейсов типа xxx:0 xxx:1 и т.д. Но оочень медленно. Сервер уже загружается,а интерфейсы все еще генерируются.. Потом наткнулся на использование IPADDR1..2 и т.д. и прикрутил на лупбек 256 адресов примерно так: DEVICE=lo IPADDR=127.0.0.1 NETMASK=255.0.0.0 NETWORK=127.0.0.0 BROADCAST=127.255.255.255 ONBOOT=yes NAME=loopback IPADDR0=1.1.1.0 PREFIX0=32 IPADDR1=1.1.1.1 PREFIX1=32 IPADDR2=1.1.1.2 PREFIX2=32 ... IPADDR255=1.1.1.255 PREFIX255=32 все устраивает. загружает быстро и работает. Но. Понадобилось прикрутить еще 256 адресов... И тут выяснилось, что записи IPADDR256 и выше конфиг уже не воспринимает... Попытался создать алиас вида: DEVICE=lo:1 IPADDR0=1.1.2.0 PREFIX0=32 IPADDR1=1.1.2.1 PREFIX1=32 ... IPADDR255=1.1.2.255 PREFIX255=32 Тут опять странности... если сделать ifup lo:1, то все корректно поднимается, а если systemctl restart network, то нет... Подскажите, что я не так делаю то? И как вообще в centos такие вещи кошерно делаются? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
LostSoul Опубликовано 25 июля, 2018 · Жалоба я вдоволь натрахавшись, передумал делать кошерно. и сделал прямо грубо, цинично и вот так вот #!/bin/bash blocks="100.125.0 100.125.1 100.125.2 100.125.3 100.125.4 100.125.5 100.125.6 100.125.7 100.125.8 100.125.9" for i in $blocks do for n in `seq 0 255` do ip addr add $i.$n dev lo done done несколько лет полет нормальный. были-бы это какие-то внешние интерфейсы тогда имеет смысл стараться. А loopback - да что ему будет то? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vlad11 Опубликовано 25 июля, 2018 · Жалоба Попробуйте указать диапазон: [root@linuxhelp network-scripts]# vim ifcfg-eth0-range0 DEVICE=eth0 HWADDR=00:0C:29:3F:43:A5 TYPE=Ethernet UUID=9aba66e1-41ab-4f3f-8f29-5a9c188f19ab ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPADDR_START=192.168.5.184 IPADDR_END=192.168.5.186 NETMASK=255.255.255.0 DNS2=8.8.4.4 GATEWAY=192.168.5.1 DNS1=8.8.8.8 IPV6INIT=no USERCTL=no Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kaktak Опубликовано 25 июля, 2018 (изменено) · Жалоба 21 minutes ago, LostSoul said: и сделал прямо грубо, цинично и вот так вот так то ничего, но что если при загрузке стартует приложение, которое создает сокеты на этих адресах? конечно можно не менее цинично вставить рестарт этого приложения в конец скрипта .. )) 20 minutes ago, vlad11 said: Попробуйте указать диапазон я писал выше, что пробовал range. неплохо работает на небольших диапазонах, но даже 256 интерфейсов создаются неприемлемо долго. Изменено 25 июля, 2018 пользователем kaktak Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
LostSoul Опубликовано 25 июля, 2018 · Жалоба 16 минут назад, kaktak сказал: так то ничего, но что если при загрузке стартует приложение, которое создает сокеты на этих адресах? конечно можно не менее цинично вставить рестарт этого приложения в конец скрипта .. )) ну так и настройте в systemd запуск этого скрипта раньше, чем вашего приложения. а можно и net.ipv4.ip_nonlocal_bind=1 в sysctl.conf прописать 18 минут назад, kaktak сказал: но даже 256 интерфейсов создаются неприемлемо долго. ARPCHECK=no прописали? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kaktak Опубликовано 25 июля, 2018 · Жалоба arpcheck не пробовал спасибо за наводку. А вас тогда почему range не устроил? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
LostSoul Опубликовано 25 июля, 2018 · Жалоба 2 минуты назад, kaktak сказал: arpcheck не пробовал спасибо за наводку. А вас тогда почему range не устроил? ну потому что если вы посмотрите на мой скрипт, то увидите что IP явно больше, чем 256. Под такое количество IP пришлось в системе крутить уже и лимиты на число файлов, и приложение пересобирать. Редактировать подобный конфиг в текстовом редакторе было уже лень, и я решил что раз все равно кодить скрипт, то чем кодить генератор конфига к ifcg проще подгружать напрямую так сказать в ядро сразу. И быстрее и лучше и побочных эффектов я не нашел. ( но у меня отдельный контейнер lxc под эти задачи ) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
s.lobanov Опубликовано 25 июля, 2018 · Жалоба всегда посмеиваюсь над квалификацией местных советчиками вот так можно заасайнить на хост целую подсеть: Цитата # ip -4 route add local 192.168.16/24 dev lo после чего хост будет считать всю сеть "своей", т.е. (в том числе) отвечать на arp (кстати, без всяких proxy-arp и proxy-arp-pvlan), любое приложение может биндится на любой ip из такой сети без non-local binding фичи Цитата # nc -l -s 192.168.16.100 -p 5000 & [1] 23830 # netstat -ntplu | grep 5000 tcp 0 0 192.168.16.100:5000 0.0.0.0:* LISTEN 23830/nc советовать делать алиасы через костыли типа IPADDR_START и IPADDR_END, которые скрипт разворачивает в кучу алиасов - ну привет вам из криокамеры Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
LostSoul Опубликовано 25 июля, 2018 · Жалоба 1 час назад, s.lobanov сказал: после чего хост будет считать всю сеть "своей", т.е. (в том числе) отвечать на arp попробовал , работает, даже на centos 6. Да ты просто шайтан :-) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kaktak Опубликовано 26 июля, 2018 · Жалоба Красиво. А как это увязать с сетевыми скриптами centos? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
guеst Опубликовано 26 июля, 2018 (изменено) · Жалоба Static route configuration is stored in a /etc/sysconfig/network-scripts/route-interface file. попробуйте наверно в файл просто прописать: local 192.168.16/24 dev lo Изменено 26 июля, 2018 пользователем guеst Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...