tgoop.com/sudo_rmrf/311
Last Update:
Из-за того, что утилиты для работы с сетевым стэком в Linux (ifconfig, arp, netstat, route, brctl, etc ...) были написаны во времена, когда динозавры ходили по планете, и со времен мезозоя все привыкли к определенного вида форматированию вывода этих команд, а разработка ядра, вот так сюрприз, не стояла на месте, сообщество столкнулось с проблемой: старые утилиты не могут без поломки совместимости внешних скриптов корректно отдавать вывод по новому функционалу, который был добавлен в ядро.
Как решение проблемы был написан модный стильный молодежный iproute2, который замыкает на себя работу с сетевой подсистемой Linux, и, как следствие, предоставляет единый интерфейс работы. Остальные команды были признаны устаревшими. Сделано это было 10+ лет назад, однако, люди до сих пор используют связку ifconfig + route + arp + netstat + brctl как голландский штурвал управления сетевой подсистемой.
Простой пример.
В старых версиях ядра, для решения простой задачи добавления второго ip адреса на существующий интерфейс (eg eth0) приходилось создавать новый, зависимый от основного, виртуальный интерфейс (eth0:0) и вешать на него нужный адрес. В выводе ifconfig интерфейсы eth0 и eth0:0 шли друг за другом, и этот бред был сделан просто потому что ifconfig не умеет отрисовывать два адреса на одном интерфейсе. Ядро уже лет 10 позволяет назначить больше одного адреса на интерфейс, а ifconfig все эти 10 лет не научился с этим работать. Потому что обратная совместимость сломается.
Я уверен что были и еще причины, но эта теория заговора мне нравится больше всего. Да и не важно почему так было сделано, важно сейчас понять одну простую истину - используя ifconfig вы не только обрекаете себя на использования целого вороха разных утилит для работы с сетевой подсистемой, но и сами же себе, добровольно, ограничиваете доступ к функционалу, который уже 10 лет предоставляет ядро, и который активно используют приложения, а пример с виртуальными адресами это просто капля в море упущенных возможностей.
Пользуйтесь пожалуйста актуальными инструментами во время работы. Вы же не хотите чтобы дантист вам поставил деревянную зубную пломбу?
BY sudo rm -rf /*
Share with your friend now:
tgoop.com/sudo_rmrf/311