почему ifconfig/route не подходят для диагностики в gnu/linux?

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модератор: SLEDopit

Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

почему ifconfig/route не подходят для диагностики в gnu/linux?

Сообщение sash-kan » 06.11.2011 22:16

почему ifconfig/route не подходят для диагностики в gnu/linux?
трёхстиховая с послестишием сага для «продвинутых одинов»
(приведённые стихи сильно утрированы для простоты изложения)·

стих 1

1. имеется компьютер, подключенный к роутеру, который подключен к сети провайдера·
2. роутер (192.168.1.1) «пингуется» с компьютера (192.168.1.4)·
3. шлюз провайдера (10.1.1.1) «пингуется» с компьютера·
4. dns-серверы провайдра (10.1.1.2 и 10.1.1.3) «пингуются» с компьютера, но имена не резолвятся·
5. несколько наудачу вспомненных ip-адресов (типа 8.8.8.8) тоже «не пингуются»·
6. на всякий случай запрошен вывод ifconfig+route с компьютера (классика!) и (предусмотрительно) вывод iptables-save:

Код: Выделить всё

$ /sbin/ifconfig
eth0      Link encap:Ethernet  HWaddr 00:23:8b:b5:37:14
          inet addr:192.168.1.4  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::223:8bff:feb5:3714/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:111029 errors:0 dropped:0 overruns:0 frame:0
          TX packets:109230 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:90773649 (86.5 MiB)  TX bytes:15012691 (14.3 MiB)
          Interrupt:37 Base address:0x4000

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:429 errors:0 dropped:0 overruns:0 frame:0
          TX packets:429 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:41666 (40.6 KiB)  TX bytes:41666 (40.6 KiB)

$ /sbin/route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
$ sudo iptables-save
$

7. связка того же компьютера и роутера, будучи подключеной к другому провайдеру, отлично работает·
8. сделан логичный вывод — проблема исключительно у провайдера·

а теперь правильный ответ:
с якобы отзывающимися серверами провайдера на самом деле связи нет, а понять из вывода ifconfig+route, что отзывается сам компьютер — невозможно·
зато это прекрасно видно из вывода "ip a" (строки с девятой по одиннадцатую):

Код: Выделить всё

$ /sbin/ip a | nl -w2 -s' '
 1 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
 2     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
 3     inet 127.0.0.1/8 scope host lo
 4     inet6 ::1/128 scope host
 5        valid_lft forever preferred_lft forever
 6 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
 7     link/ether 00:23:8b:b5:37:14 brd ff:ff:ff:ff:ff:ff
 8     inet 192.168.1.4/24 brd 192.168.1.255 scope global eth0
 9     inet 10.1.1.1/32 scope global eth0
10     inet 10.1.1.2/32 scope global eth0
11     inet 10.1.1.3/32 scope global eth0
12     inet6 fe80::223:8bff:feb5:3714/64 scope link
13        valid_lft forever preferred_lft forever
$


вывод:
не стоит полагаться на вывод ifconfig — эта программа не знает, что к одному интерфейсу может быть привязано больше одного ip-адреса·
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:

Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: почему ifconfig/route не подходят для диагностики в gnu/linux?

Сообщение sash-kan » 06.11.2011 22:24

стих 2

1. имеется компьютер, подключенный к сети с двумя шлюзами (192.168.0.1 и 192.168.1.1)
2. первый из них — дефолтный, через второй происходит доступ к двум под-сетям: 10.207.0.0/16 и 10.208.0.0/16
3. к компьютерам первой под-сети доступ есть, к компьютерам второй под-сети доступа нет·
4. запрашиваем вывод ifconfig+route и (предусмотрительно) iptables-save:

Код: Выделить всё

$ /sbin/ifconfig
eth0      Link encap:Ethernet  HWaddr 00:23:8b:b5:37:14
          inet addr:192.168.1.4  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::223:8bff:feb5:3714/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:114175 errors:0 dropped:0 overruns:0 frame:0
          TX packets:113049 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:91771721 (87.5 MiB)  TX bytes:16077774 (15.3 MiB)
          Interrupt:37 Base address:0x4000

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:571 errors:0 dropped:0 overruns:0 frame:0
          TX packets:571 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:55047 (53.7 KiB)  TX bytes:55047 (53.7 KiB)

$ /sbin/route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
10.207.0.0      192.168.1.1     255.255.0.0     UG    0      0        0 eth0
10.208.0.0      192.168.1.1     255.255.0.0     UG    0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
$ sudo iptables-save
$

5. быстро спохватываемся и запрашиваем вывод "ip a", из которого видим «скрытый» ip-адрес (строка 9):

Код: Выделить всё

$ ip a | nl -w2 -s' '
 1 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
 2     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
 3     inet 127.0.0.1/8 scope host lo
 4     inet6 ::1/128 scope host
 5        valid_lft forever preferred_lft forever
 6 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
 7     link/ether 00:23:8b:b5:37:14 brd ff:ff:ff:ff:ff:ff
 8     inet 192.168.1.4/24 brd 192.168.1.255 scope global eth0
 9     inet 192.168.0.4/24 scope global eth0
10     inet6 fe80::223:8bff:feb5:3714/64 scope link
11        valid_lft forever preferred_lft forever
$

10. всё вроде бы верно и мы делаем логичный вывод: проблема либо на втором шлюзе, либо где-то между ним и сетью 10.208.0.0/16

а теперь правильный ответ:
проблемы с доступом ко второй под-сети — в некорректном маршруте к этой сети, и увидеть эту некорректность с помощью программы route невозможно·
зато это прекрасно видно из вывода "ip r"·
строка 3 — в поле src исходящих пакетов будет подставлено значение 192.168.0.4 (вместо «положенного» 192.168.1.4), со всеми вытекающими (шлюз, на который отправлены эти пакеты, не знает, куда направлять ответ):

Код: Выделить всё

$ ip r | nl -w1 -s' '
1 default via 192.168.0.1 dev eth0
2 10.207.0.0/16 via 192.168.1.1 dev eth0
3 10.208.0.0/16 via 192.168.1.1 dev eth0  src 192.168.0.4
4 192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.4
5 192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.4
$


вывод:
не стоит полагаться на вывод route — эта программа не знает, что нынче в таблице маршрутизации может быть указан и адрес источника, и много других разных параметров (см. man ip)·
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:

Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: почему ifconfig/route не подходят для диагностики в gnu/linux?

Сообщение sash-kan » 06.11.2011 22:32

стих 3

1. имеется компьютер, подключенный к сети с двумя шлюзами (192.168.0.1 и 192.168.1.1)
2. первый из них — дефолтный, через второй происходит доступ к двум под-сетям: 10.207.0.0/16 и 10.208.0.0/16
3. к компьютерам первой под-сети доступ есть, к компьютерам второй под-сети доступа нет·
4. наученные предыдущим горьким опытом, запрашиваем вывод "ip a"+"ip r" и (предусмотрительно) iptables-save:

Код: Выделить всё

$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:23:8b:b5:37:14 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.4/24 brd 192.168.1.255 scope global eth0
    inet 192.168.0.4/24 scope global eth0
    inet6 fe80::223:8bff:feb5:3714/64 scope link
       valid_lft forever preferred_lft forever
3: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 00:17:c4:5a:19:18 brd ff:ff:ff:ff:ff:ff
$ ip r
default via 192.168.0.1 dev eth0
10.207.0.0/16 via 192.168.1.1 dev eth0
192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.4
192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.4
$ sudo iptables-save
$

5. делаем логичный вывод, что ко второй сети просто нет маршрута и предлагаем его добавить:

Код: Выделить всё

$ sudo ip r a 10.208.0.0/16 via 192.168.1.1 dev eth0
$ ip r
default via 192.168.0.1 dev eth0
10.207.0.0/16 via 192.168.1.1 dev eth0
10.208.0.0/16 via 192.168.1.1 dev eth0
192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.4
192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.4

6. но пакеты к этой под-сети всё равно не ходят!
7. делаем логичный вывод, что в компьютере завелись «вирусы» и предлагаем переустановить систему·

а теперь правильный ответ:
в компьтере была заведена ещё одна (помимо трёх дефолтных) таблица маршрутизации (естественно, более приоритетная, чем main), в которую и был вставлен «неправильный» маршрут, что легко обнаруживается с помощью "ip ru" (и последующей "ip r show table 200"):

Код: Выделить всё

$ ip ru
0:      from all lookup local
32765:  from all to 10.208.0.0/16 lookup 200
32766:  from all lookup main
32767:  from all lookup default
$ ip r show table 200
default via 192.168.1.1 dev eth0  src 192.168.0.4
$
(можно получить содержимое всех таблиц маршрутизации за один запрос: "ip r show table all", но список больно длинный)·

вывод:
зашоренные узкими рамками программы route, мы и понятия не имеем, что таблица маршрутизации даже по дефолту — не одна-единственная, про которую только и знает route, а целых три, и что их может быть и гораздо больше·
а ещё не ведаем, что есть и routing policy database, для управления которой служит "ip ru" (="ip rule")·
век живи — век учись·
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:

Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: почему ifconfig/route не подходят для диагностики в gnu/linux?

Сообщение sash-kan » 06.11.2011 22:43

послестишие

полезное чтение:

1. man ip

2. в разных дистрибутивах разное имя пакета (iproute-doc, iproute2-doc) и путь разный:
/usr/share/doc/iproute-doc/ip-cref.ps.gz
/usr/share/doc/iproute2-doc/ip-cref.ps
(online — http://linux-ip.net/gl/ip-cref/)
ещё в этом же пакете и другое интересное чтиво имеется·

3. http://linux-ip.net/

4. http://lartc.org/ (есть и русские переводы той или иной степени устарелости google://lartc перевод)

бесполезное чтение:
(несколько моих постов на форуме, найденых по употреблению слова "ifconfig")

немного истории:
длинно
коротко про мух, котлеты и костыли

немного лирики:
руль и педали для космонавта
кнопки-диски-атээсы

немного oops-ов:
смертельный номер
ни дать, ни взять (ни посмотреть, ни изменить)
eth1 облом: device not found

ну и так, к слову:
в какой системе какую информацию запрашивать для диагностики?

p.s. сага ложь, да в ней намёк, мудрым одинам урок·
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:

Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian

Re: почему ifconfig/route не подходят для диагностики в gnu/linux?

Сообщение rm_ » 07.11.2011 08:15

не стоит полагаться на вывод ifconfig — эта программа не знает, что к одному интерфейсу может быть привязано больше одного ip-адреса·

УМВР ЧЯДНТ

Код: Выделить всё

$ sudo ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:02:a5:4e:d8:a3
          inet addr:192.168.0.100  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fd8e:ffad:f447::100:53a/64 Scope:Global
          inet6 addr: fd8e:ffad:f447::100:53b/64 Scope:Global
          inet6 addr: fe80::202:a5ff:fe4e:d8a3/64 Scope:Link
          inet6 addr: 2001:470:xxxx::100/64 Scope:Global
          inet6 addr: 2002:5cff:xxxx:1::1/64 Scope:Global
          inet6 addr: 2002:5cff:xxxx::1/64 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:9000  Metric:1
          RX packets:81303156 errors:0 dropped:13 overruns:0 frame:0
          TX packets:146575357 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:29373972944 (27.3 GiB)  TX bytes:318228915447 (296.3 GiB)

а, или речь про этот ваш IPv4? :)
Спасибо сказали:

Аватара пользователя
taaroa
Сообщения: 1319

Re: почему ifconfig/route не подходят для диагностики в gnu/linux?

Сообщение taaroa » 07.11.2011 09:26

rm_ писал(а):
07.11.2011 08:15
а, или речь про этот ваш IPv4? :)

речь совсем не о том, как «навесить» несколько адресов на. и тема не о различиях цифр, четвёрки от шестёрки.
речь про «этот ваш линупкс» и его сетевую подсистему.

p.s. трёхстиховая с послестишием сага для «продвинутых одМинов». поправьте, пожалуйста.
поправил. ЛБ.
:wq
Спасибо сказали:

Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 7894
Статус: Маньяк
ОС: Android, GNU/Linux, Windows

Re: почему ifconfig/route не подходят для диагностики в gnu/linux?

Сообщение serzh-z » 07.11.2011 13:09

Это, скорее, спор человека, всю жизнь пользовавшегося мышью, с человеком, всегда пользовавшимся клавиатурой. Или пользователя тачскрина - с пользователем мыши. Уверен, что вторые так же считают, что пользоваться первым совершенно невозможно, и наоборот.
Scio me nihil scire.
Спасибо сказали:

Аватара пользователя
romuil
Сообщения: 2095
Статус: Ромунцель
ОС: ALTLinux Sisyphus

Re: почему ifconfig/route не подходят для диагностики в gnu/linux?

Сообщение romuil » 07.11.2011 13:32

serzh-z писал(а):
07.11.2011 13:09
Это, скорее, спор человека, всю жизнь пользовавшегося мышью, с человеком, всегда пользовавшимся клавиатурой. Или пользователя тачскрина - с пользователем мыши. Уверен, что вторые так же считают, что пользоваться первым совершенно невозможно, и наоборот.

И да и нет. Ещё во времена активного использования dvb карты помню больно ударившие в лоб грабли - ifconfig с определенной версии ядра, кажется 2.6.26 наотрез отказывался присваивать IP MAC MASK интерфейсу dvb0. Пришлось учиться делать это командой ip.
Да и сами разработчики часто пишут мол ifconfig устарел, используйте ip. Если что, то это не баг - это фича.
Спасибо сказали:

Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian

Re: почему ifconfig/route не подходят для диагностики в gnu/linux?

Сообщение rm_ » 07.11.2011 14:03

$ sudo ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:02:a5:4e:d8:a3
inet addr:192.168.0.100 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fd8e:ffad:f447::100:53a/64 Scope:Global
inet6 addr: fd8e:ffad:f447::100:53b/64 Scope:Global
inet6 addr: fe80::202:a5ff:fe4e:d8a3/64 Scope:Link
inet6 addr: 2001:470:xxxx::100/64 Scope:Global
inet6 addr: 2002:5cff:xxxx:1::1/64 Scope:Global
inet6 addr: 2002:5cff:xxxx::1/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:9000 Metric:1
RX packets:81303156 errors:0 dropped:13 overruns:0 frame:0
TX packets:146575357 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000

RX bytes:29373972944 (27.3 GiB) TX bytes:318228915447 (296.3 GiB)

Вот когда ваш ip научится по одной команде выдавать удобно-читаемый вывод со всем вот этим, тогда и поговорим.
До тех же пор, разговоры об "устарелости" ifconfig выглядят как предложение с автомобиля пересесть на одноколёсный клоунский велосипед.
Или как нечто исходящее из лагеря той же породы разработчиков, что придумали Unity и GNOME 3, "все те удобные и полностью устраивающие вас инструменты которыми вы пользовались до сих пор - на самом деле стары и ненужны, мы лучше вас знаем, как оно должно быть".
Не говоря уж о величайшей "логичности" того, что MAC-адрес интерфейса теперь предлагается смотреть через команду ip (айпи).

К ifconfig претензию вижу одну: показывается единственный IPv4, даже если их несколько. Но это ни разу не повод для отказа от ifconfig, а всего лишь (если вам так хочется) багрепорт, который можно засабмиттить, или патч, который можно написать.
Спасибо сказали:

Аватара пользователя
taaroa
Сообщения: 1319

Re: почему ifconfig/route не подходят для диагностики в gnu/linux?

Сообщение taaroa » 07.11.2011 14:30

rm_ писал(а):
07.11.2011 14:03
Вот когда ваш ip научится по одной команде выдавать удобно-читаемый вывод со всем вот этим, тогда и поговорим.

действительно, больше оно ничего полезного и не умеет.
http://www.opennet.ru/docs/RUS/LARTC/

rm_ писал(а):
07.11.2011 14:03
К ifconfig претензию вижу одну: показывается единственный IPv4, даже если их несколько. Но это ни разу не повод для отказа от ifconfig, а всего лишь (если вам так хочется) багрепорт, который можно засабмиттить, или патч, который можно написать.

о, да. нарисуйте с помощью ifconfig всё то, о чём идёт речь по ссылке далее.
:wq
Спасибо сказали:

Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: почему ifconfig/route не подходят для диагностики в gnu/linux?

Сообщение Bluetooth » 07.11.2011 15:19

К ifconfig претензию вижу одну: показывается единственный IPv4, даже если их несколько. Но это ни разу не повод для отказа от ifconfig, а всего лишь (если вам так хочется) багрепорт, который можно засабмиттить, или патч, который можно написать.
ifconfig + route и прочее отлично подходит в простых случаях и совершенно не катит в сложных случаях. ip, на мой взгляд, подходит для простых случаев тоже очень хорошо. Ну, я не считаю, что отсутствие вывода "в стиле ifconfig" - это минус. Соотвественно, я бы на данный момент и не обратил внимания на такие устаревшие и ограниченные инструменты, как ifconfig+route, коли у нас уже давно есть гораздо более мощный инструмент.
Но, начинают все полюбому с ifconfig+route, и цепляются за "привычное" :)

У меня вот другой вопрос: есть вот iproute2, замечательно, гибко, удобно. Однако, каким образом тут реализовывается сохранение конфигурации между перезагрузками? Стандартные средства debian(/etc/network/interfaces), да и других дистров, что я видел - напоминают по своей сути фронтенды для ifconfig+route. Мне уже приходилось реализовывать несколько непростых случаев, используя команду ip, для этого я писал скрипт, который и вызывал из post-up в /etc/network/interfaces. Тогда не стоял вопрос насколько это правильно, нужно было сделать быстро. А сегодня я это почитал - и задумался - а как правильно, все же? :)
Спасибо сказали:

Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: почему ifconfig/route не подходят для диагностики в gnu/linux?

Сообщение sash-kan » 07.11.2011 15:40

taaroa писал(а):
07.11.2011 09:26
p.s. трёхстиховая с послестишием сага для «продвинутых одМинов». поправьте, пожалуйста.
поправил. ЛБ.
поломали весь творческий замысел·
именно для «одинов» было в оригинале (якобы опечатка в искажённом уже слове, но в результате возносящая «админов» до божественных высот; к тому же название-то: «сага»; ни о чём не говорит?)·
возвращаю назад·

p.s. одины упоминаются и в конце четвёртого поста (но до этого места, понятно, никто не дочитывает)·
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:

Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: почему ifconfig/route не подходят для диагностики в gnu/linux?

Сообщение Bluetooth » 07.11.2011 15:47

sash-kan писал(а):
07.11.2011 15:40
p.s. одины упоминаются и в конце четвёртого поста (но до этого места, понятно, никто не дочитывает)·

я дочитал, однако ни в начале, ни в конце на опечатки не обратил внимания.
Спасибо сказали:

Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: почему ifconfig/route не подходят для диагностики в gnu/linux?

Сообщение sash-kan » 07.11.2011 15:57

rm_ писал(а):
07.11.2011 14:03
Вот когда ваш ip научится по одной команде выдавать удобно-читаемый вывод со всем вот этим, тогда и поговорим.
вывод информации об интерфейсах и ip-адресах — это и есть последствие архитектурной промашки, которую когда-то совершили разработчики (то ли старого доброго unix-а, то ли bsd)·
информация об интерфейсе (и статистика) получается одной командой (ip [-s] l), информация об ip-адресах и их привязках — другой (ip a)·
rm_ писал(а):
07.11.2011 14:03
Не говоря уж о величайшей "логичности" того, что MAC-адрес интерфейса теперь предлагается смотреть через команду ip (айпи).
через команду "ip r"·

получается — три разных команды (а есть и другие, сообщаю на всякий случай)·
т.е., вы уж или крестик снимите…
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:

Аватара пользователя
taaroa
Сообщения: 1319

Re: почему ifconfig/route не подходят для диагностики в gnu/linux?

Сообщение taaroa » 07.11.2011 15:57

sash-kan писал(а):
07.11.2011 15:40
p.s. одины упоминаются и в конце четвёртого поста (но до этого места, понятно, никто не дочитывает)·

да, пардон. если читать весь текст от и до, «на одном дыхании», «в один присест», то всё становится на свои места, действительно.
:wq
Спасибо сказали:

Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: почему ifconfig/route не подходят для диагностики в gnu/linux?

Сообщение drBatty » 07.11.2011 16:00

вот устроили... давайте еще поспорим unix права vs acl. Да, второе круче. Кто-бы спорил. И что?
Хотя конечно route стукнутая утилита. Но ifconfig в простых случаях еще торт.
зыж автору спасибо - очень полезная сага.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:

Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: почему ifconfig/route не подходят для диагностики в gnu/linux?

Сообщение sash-kan » 07.11.2011 16:09

rm_ писал(а):
07.11.2011 14:03
К ifconfig претензию вижу одну: показывается единственный IPv4, даже если их несколько. Но это ни разу не повод для отказа от ifconfig, а всего лишь (если вам так хочется) багрепорт, который можно засабмиттить, или патч, который можно написать.
а label-ы? которые нужны, фактически, только ifconfig-у, и поэтому не особо проверялись iproute-ом, т.е. произвольный текст, который можно было поместить в label, приводил к облому·

в более или мене свежих версиях iproute проверку ужесточили, но найти систему, на которой это сделать не успели — думаю, не сложно·
и самое прикольное, что это, в общем-то, не баг iproute: строка с точки зрения как linux-а, так и iproute — совершенно опциональная и может содержать абсолютно произвольный набор байт·

Bluetooth писал(а):
07.11.2011 15:19
У меня вот другой вопрос: есть вот iproute2, замечательно, гибко, удобно. Однако, каким образом тут реализовывается сохранение конфигурации между перезагрузками? Стандартные средства debian(/etc/network/interfaces), да и других дистров, что я видел - напоминают по своей сути фронтенды для ifconfig+route. Мне уже приходилось реализовывать несколько непростых случаев, используя команду ip, для этого я писал скрипт, который и вызывал из post-up в /etc/network/interfaces. Тогда не стоял вопрос насколько это правильно, нужно было сделать быстро. А сегодня я это почитал - и задумался - а как правильно, все же?
вот в этой теме заходила речь и об iproute+ifup/down: iproute2
а вообще отдельный скрипт писать и не надо:
прямо в /etc/network/interfaces
up ip a a …
down ip a d …
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:

Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: почему ifconfig/route не подходят для диагностики в gnu/linux?

Сообщение Bluetooth » 07.11.2011 16:10

drBatty писал(а):
07.11.2011 16:00
вот устроили... давайте еще поспорим unix права vs acl. Да, второе круче. Кто-бы спорил. И что?

Здесь немного другая ситуация.
использовать unix acl на данный момент без использования unix прав едва ли возможно, да и не нужно. Все сделано так, чтобы эти два инструмента работали вместе. И они работают вместе, и все довольны.
А iproute полностью покрывает функционал ifconfig+route, что дает возможность не использовать ifconfig+route вообще. Например, когда я работаю с ipv6, я работаю целиком только с iproute, и не испытываю никаких проблем - синтаксис понятный, логичный, имеется возможность сокращений. При этом же я еще и уверен, что в любом случае мне хватит функционала iproute, а не придется в случае более сложной задачи смотреть, как работают другие инструменты, делающие то же самое.
Спасибо сказали:

Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: почему ifconfig/route не подходят для диагностики в gnu/linux?

Сообщение sash-kan » 07.11.2011 16:14

Bluetooth писал(а):
07.11.2011 15:47
ни в начале, ни в конце на опечатки не обратил внимания
а нет опечатки·
один — эт бог такой·
википедия://Один
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:

Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: почему ifconfig/route не подходят для диагностики в gnu/linux?

Сообщение sash-kan » 07.11.2011 16:22

rm_
вообще я настоятельно порекомендовал бы перечитать заголовок темы (он же заголовок саги)·
именно на диагностике проблем я и сосредоточился, как на ахиллесовой пяте·
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:

Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: почему ifconfig/route не подходят для диагностики в gnu/linux?

Сообщение sash-kan » 07.11.2011 16:59

спасибо всем за блогодарности и критику·
со своей стороны не могу не упомянуть пост уважаемой Ленивой Бестолочи, где он вручил мне и подпинывающую идею, и carte blanche заодно·
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:

Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: почему ifconfig/route не подходят для диагностики в gnu/linux?

Сообщение Bluetooth » 07.11.2011 18:52

sash-kan писал(а):
07.11.2011 16:14
Bluetooth писал(а):
07.11.2011 15:47
ни в начале, ни в конце на опечатки не обратил внимания
а нет опечатки·
один — эт бог такой·
википедия://Один

Это я понимаю, я просто назвал это опечаткой, исходя из замысла(насколько я понял, это была твоя намеренная "опечатка").
Как бы то ни было, я думаю, нет смысла обсуждать в этой, безусловно, интересной и актуальной теме, особенности смены "одмин" на "один" :)
именно на диагностике проблем я и сосредоточился, как на ахиллесовой пяте·
Однако же, проблемы у ifconfig и route не только в отображении информации. Если ifconfig не умеет показывать несколько ipv4 адресов, то и не умеет ими манипулировать. Если route знает только об одной таблице маршрутизации, то другими манипулировать не может.
В пользу этого говорит и lartc - документ, в котором очень полно представлена тема. В нем я не видел ничего про ifconfig и route - везде работают с iproute.
Спасибо сказали:

Аватара пользователя
McSim
Сообщения: 418
Статус: Экспериментатор
ОС: заGNU/Linux Debian

Re: почему ifconfig/route не подходят для диагностики в gnu/linux?

Сообщение McSim » 08.11.2011 11:52

Не не жизнь, а на смерть
:rule: :gathering: :rule: :starwars: :stretcher:
Спасибо сказали:

Аватара пользователя
Olden Gremlin
Сообщения: 365
Статус: RAP22-RIPE
ОС: Debian GNU/Linux Wheezy

Re: почему ifconfig/route не подходят для диагностики в gnu/linux?

Сообщение Olden Gremlin » 09.11.2011 12:06

sash-kan писал(а):
07.11.2011 16:59
спасибо всем за блогодарности и критику·
Саш, народ возмущается скорее из-за силы привычки чем наоборот.

Я вот тоже до поры до времени использовал ifconfig, но после того как, благодаря, кстати, тебе, познакомился с ip…
В общем я забыл когда в последний раз вообще ifconfig'ом в Linux'е пользовался. ;)

… ещё та тема для религиозной войны! :D
«Когда у общества нет цветовой дифференциации штанов — то нет цели!»
nic-hdl: RAP22-RIPE
Спасибо сказали:

Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: почему ifconfig/route не подходят для диагностики в gnu/linux?

Сообщение sash-kan » 09.11.2011 13:12

Olden Gremlin писал(а):
09.11.2011 12:06
В общем я забыл когда в последний раз вообще ifconfig'ом в Linux'е пользовался.
мне проще — я точно знаю, что последний раз пользовался ifconfig при создании этой темы (улыбка)·
правда, не помню, когда был предыдущий раз…

Olden Gremlin писал(а):
09.11.2011 12:06
ещё та тема для религиозной войны!
кстати, нет·
я ж не зря упомянул в заголовке «для диагностики»·
по-моему, тут спорить бесполезно·
разве что не заметить эти слова…
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:

Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: почему ifconfig/route не подходят для диагностики в gnu/linux?

Сообщение sash-kan » 22.05.2012 11:30

не относящееся к теме отрезано сюда: модем, dns, network manager

пожалуй, стоит закрыть эту тему·
если по изложенному возникнут вопросы, создавайте новую тему, пожалуйста·
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали: