[linux] ifconfig
> Тогда делаю ifconfig eth1 down.
Интересный способ.
> Интерфейс исчезает.
- Суслика видишь?
- Нет
- А он есть
Это "исчезает" описано в man. Там же сказано, что делать, чтобы не "исчезало".
Покажи правильный.
Покажу работающий, если расскажешь, как отключение eth1 должно было повлиять на адрес eth0.
Удалить локальный маршрут мне нужно для того, что бы затем создать его заново, но только с адресом на eth1 и соответственно сам маршрут будет указывать в eth1.
> В обычными операционных системах это делается удалением IP адреса из этой сети с этого интерфейса.
Маршрут можно удалить и без опускания интерфейса.
> я знаю, что изменив административный статус интерфейса из Up в Down я также достигну нужного эффекта - удаления локального маршрута.
Имелось ввиду всё-таки опускание eth0?
Обещаный cheat code: ifconfig eth0 0.0.0.0
ifconfig eth0 0.0.0.0это типо нормальный спосоп ?
Адрес с маской останутся на интерфейса, а маршрут исчезнет? Если так, то это не правильно.
> Обещаный cheat code: ifconfig eth0 0.0.0.0
Ахуеть!
> Адрес с маской останутся на интерфейса, а маршрут исчезнет?
> Если так, то это не правильно.
Это правильно и используется в нестандартных конфигурациях.
В общем случае нет причин считать, что на компы, доступные непосредственно через некоторый интерфейс нужно всегда идти именно через него. А чтобы нормально уходили ответы в сегмент, можно использовать правила и дополнительные таблицы маршрутизации.
Верно.
> А чтобы нормально уходили ответы в сегмент, можно использовать правила и дополнительные таблицы маршрутизации.
Всё что угодно дополнительное - пожалуйста. Но если есть broadcast интерфейс, каковым является Ethernet, и на нём есть IP адрес и маска отличная от /32, то этот маршрут должен присутствовать.
> и на нём есть IP адрес и маска отличная от /32,
> то этот маршрут должен присутствовать.
Так не удаляй маршрут, и он будет.
Правильная команда для настройки адресов и маршрутов называется ip, c её помощью то, что ты хочешь, делается без шаманства.
ifconfig и route поддерживают не все возможности ядра, и оставлены для совместимости хз с чем.
ifconfig и route поддерживают не все возможности ядра, и оставлены для совместимости хз с чем.Об этом не написано в man. Эти команды не печатают warning.
man устаревший, напиши патч
Оставить комментарий
sergey_m
Дано: RedHat Linux 9. man ifconfig прочитал.В машине три сетевухи, только одна воткнута в свитч. Не смог понять как определить, есть на сетевой карте линк или нет. Приходится действовать перебором.
Пишу: ifconfig eth0 81.19.x.y/24 Получаю: broadcast 81.255.255.255, netmask 255.0.0.0. Хорошо, что IP адрес правильный! Еще раз смотрю man и понимаю, что CIDR синтаксис не поддерживается, что само по себе ацтой. Но почему тогда команда выполнилась без ошибки? Окей, пишу: ifconfig eth0 81.19.x.y netmask 255.255.255.0. Работает, но broadcast по прежнему 81.255.255.255.
С первого раза я не угадал интерфейс, поэтому теперь надо попробовать eth1. Но сначала надо удалить этот адрес с eth0. Привычной командой это не получается сделать. Смотрю в man. Нахожу способ удалять IPv6 адреса, не нахожу способа удалять IPv4 адреса. Ахуеть! Но мне же надо как-то отказаться от этого адреса. Тогда делаю ifconfig eth1 down. Интерфейс исчезает. Такого я еще не видел ни в одной ОС.
Вывод: fedechka, прости, что я над тобой стебался. И теперь я больше не смеюсь над одменами, которые меняя IP адрес в линукс выполняют перезагрузку.
* ifconfig(8)