Различие между 'ifconfig' и 'IP' командами

Вы попробовали испытательный стенд? Это может просканировать диск и восстановить потерянные таблицы разделов, даже после перезагрузки.

Это доступно предварительно упакованный для Debian и по-видимому для Ubuntu также. Вероятно, другие дистрибутивы.

При начальной загрузке gparted CD, это, вероятно, стоит проверить, чтобы видеть, предварительно установлено ли это на этом.

19
04.10.2013, 02:00
4 ответа

ifconfig от net-tools, который не смог полностью не отставать от сетевого стека Linux в течение долгого времени. Это также все еще использует ioctl для конфигурации сети, которая является ужасным и менее мощным способом взаимодействовать с ядром.

Много изменений в Linux, объединяющем в сеть код и много новых возможностей, не является доступным использованием net-tools: многопутевая маршрутизация, маршрутизация политики (см. RPDB). route позволяет Вам делать глупые вещи как добавление нескольких маршрутов тому же месту назначения, с той же метрикой.

Дополнительно:

  • ifconfig не сообщает надлежащий аппаратный адрес для некоторых устройств.
  • Вы не можете настроить ipip, sit, gre, l2tp, и т.д. статические туннели в ядре.
  • Вы не можете создать tun или tap устройства.
  • Способ добавить несколько адресов к данному интерфейсу также имеет плохую семантику.
  • Вы также не можете настроить системное использование управления трафиком Linux net-tools также.

См. также ifconfig сосет.

Править: Удаленное утверждение о net-tools разработка, прекращающая это к настоящему времени, которое я забыл, где я добрался для этого сообщения. net-tools'работался на с тех пор iproute2 был выпущен, хотя это - главным образом устранение ошибки и незначительные улучшения и функции, как интернационализация.

21
27.01.2020, 19:45

ifconfig традиционная команда должна отобразить информацию о сетевых интерфейсах и изменить некоторые настройки. В частности, это может принести интерфейсы вверх и вниз. Это существует на большинстве вариантов Unix.

На Linux, ifconfig команда не развилась в долгое время. Это все еще прекрасно подходит тому, что это делает. Если Вы используете ifconfig для чего-то нет никакой причины остановиться.

Linux также обеспечивает ip команда от iproute2 комплекта инструментов. ip управляйте комбинирует несколько классических команд и больше, включая ifconfig, route и arp. ip может сделать намного больше, чем ifconfig. С другой стороны, ip не всегда присутствует, особенно во встроенных системах (и никогда в вариантах Unix кроме Linux).

Парсинг ifconfigвывод отчасти сосет. Парсинг ipвывод отчасти сосет. Никакой победитель там.

7
27.01.2020, 19:45
  • 1
    я всегда думал, анализируя ipвывод, чтобы быть довольно простым, и конечно чертовски много более простой, чем ifconfig. Я также люблю это во многих случаях вывод ip команда может использоваться в качестве входа другому ip команда с минимальной модификацией (например, каждая строка ip route show может использоваться в качестве аргументов ip route add). –  Patrick 04.10.2013, 07:21
  • 2
    @Patrick, анализирующий ip route, и ip rule вывод довольно ясен и довольно легок проанализировать. Но ip link, или ip addr боль. Я действительно желаю, чтобы кто-то отправил бы патч или что-то для создания ip addr распечатайте точные операторы, возможно, с переключателем, который Вы использовали бы, устанавливают текущую конфигурацию, как Вы добираются с ip route show. –  Zoredache 04.10.2013, 07:59

Только добавить некоторые биты к ответу pilona. Приблизительно в 2005 новый механизм для управления сетевым стеком был представлен - netlink сокеты.

Настраивать сетевой интерфейс iproute2 использует тот полнодуплексный механизм сокета netlink, в то время как ifconfig полагается ioctl системный вызов. Вот 2 основных статьи о мотивации позади netlink и использования rtnetlink.

5
27.01.2020, 19:45

По своему опыту я обнаружил, что вывод ifconfig легче усваивается по сравнению с командами ip -*, которые визуально оставляют желать лучшего. В моем типичном использовании мне нужно только подмножество того, что дано, например, интерфейс, статус, IP-адрес, и в этом отношении ifconfig легче читать.

ифконфиг:

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
    inet 127.0.0.1  netmask 255.0.0.0
    loop  txqueuelen 1000  (Local Loopback)
    RX packets 297454  bytes 14872700 (14.1 MiB)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 297454  bytes 14872700 (14.1 MiB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
    inet 10.0.0.10  netmask 255.255.255.0  broadcast 10.0.0.255
    ether aa:aa:aa:aa:aa:aa  txqueuelen 1000  (Ethernet)
    aa:aa:aa:aa:aa:aabytes 596277 (582.3 KiB)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 9083  bytes 738309 (721.0 KiB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
    inet 10.0.0.20  netmask 255.255.255.0  broadcast 10.0.0.255
    ether aa:aa:aa:aa:aa:aa  txqueuelen 1000  (Ethernet)
    aa:aa:aa:aa:aa:aabytes 596277 (582.3 KiB)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 9083  bytes 738309 (721.0 KiB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

По сравнению с IP-адресом -:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
   valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether aa:aa:aa:aa:aa:aa brd ff:ff:ff:ff:ff:ff
inet 10.0.0.10/24 brd 10.0.0.255 scope global eth0
   valid_lft forever preferred_lft forever
3: eth1 <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether aa:aa:aa:aa:aa:aa brd ff:ff:ff:ff:ff:ff
inet 10.0.0.20/24 brd 10.0.0.255 scope global eth1
   valid_lft forever preferred_lft forever
0
29.04.2020, 19:38

Теги

Похожие вопросы