ifconfig настройка сетевых карт

ifconfig это утилита конфигурирования сетевых интерфейсов Linux, BSD. Запуск с ключом -а позволяет увидеть все интерфейсы, в том числе и отключенные.

# ifconfig
eth0      Link encap:Ethernet  HWaddr e0:cb:4e:c7:97:29  
          inet addr:10.26.95.251  Bcast:10.26.95.255  Mask:255.255.255.224
          inet6 addr: fe80::e2cb:4eff:fec7:9729/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:19957 errors:0 dropped:0 overruns:0 frame:0
          TX packets:13268 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:18105796 (18.1 MB)  TX bytes:1624182 (1.6 MB)
          Interrupt:28 Base address:0xc000 
  • RX (receive) - счетчик приема пакетов
  • TX (transfer) - счетчик передачи пакетов
  • txqueuelen - Это размер буфера передачи. Когда буфер наполняется до этого граничного значения, данные передаются в сеть. Размер очереди пакетов на сетевом интерфейсе. Устанавливает длину очереди передачи для устройства. Это позволяет установить меньшие значения для более медленных устройств с продолжительными задержками (модемные линии, ISDN), чтобы быстрая передача больших объёмов данных не слишком мешала передаче данных интерактивных сеансов, например, telnet. Для гигабитных сетевых рекомендуется установить размер очереди отправки txqueuelen как минимум в 1000.
    # ifconfig eth0 txqueuelen 1000
    # ethtool -s eth0 speed 100 duplex full autoneg off

    или

    # nano /etc/rc.local
    /sbin/ifconfig eth0 txqueuelen 10000
ifconfig не выдает статистику по виртуальным интерфейсам.

В каждой ОС утилита ifconfig может иметь свои особенности, прежде чем ее использовать нужно ознакомиться с документацией по вашей ОС. Выполнив команду:

# man 8 ifconfig

Запуск без ключей - выводит информацию по всем сетевым интерфейсам.

FAQ Linux:

# ifconfig eth0 -выведет информацию только для интерфейса eth0

BSD-UNIX:

# ifconfig rl0 -выведет информацию только для интерфейса rl0
  • Поднять/опустить интерфейс

FAQ Linux: Интерфейс исчезает. Команда ifconfig перестает его показывать.

# ifup eth0 - поднять интерфейс eth0
# ifdown eth0 - опустить интерфейс eth0

BSD-UNIX: Переключается флаг UP.

# ifconfig rl0 up - поднять интерфейс rl0
# ifconfig rl0 down - опустить интерфейс rl0
  • ifconfig em0 delete - удаляет все IP с интерфейса em0
  • Задание скорости и дуплекса для сетевых интерфейсов, например для em0. media – задает скорость mediaopt – задает дуплекс
> ifconfig em0 media 1000baseTX mediaopt full-duplex # ручной режим из командной строки. Принудительно поставим 100baseTX и full-duplex на сетевой карте с именем em0
ifconfig_em0="media 100baseTX mediaopt full-duplex" # тоже, но только через rc.conf
> ifconfig em0 media 1000baseTX mediaopt full-duplex # ручной режим. Принудительно поставим 1000baseTX (гигабит) и full-duplex

Часто возникает задача прописать статические маршруты, которые не исчезали бы и после перезагрузки FreeBSD. Для этого можно пойти несколькими путями, например:

  • Создать отдельный запускаемый файл, например 01route.sh в директории /usr/local/etc/rc.d/.Синтаксис написания анлогичен команде route из shell
    > touch /usr/local/etc/rc.d/01route.sh
    > chmod +x /usr/local/etc/rc.d/01route.sh
    > ee /usr/local/etc/rc.d/01route.sh
    
    route add 10.187.155.64/29 10.26.95.253
    route add 10.187.154.18/27 10.26.95.253

    Запускаем файл 01route.sh .

  • Правильней прописывать статические маршруты в /etc/rc.conf. Синтаксис написания правил маршрутизации будет другим. Читаем man
    > man rc.conf
    > ee /etc/rc.conf
    ...
    #static routes
    static_routes = "NATVelton Stub1" #В static_routes мы указываем список названий маршрутов
    route_NATVelton = "-net 10.26.95.0/24 85.90.215.161" #В route_имя_маршрута - аргументы команды route, для добавления этого маршрута
    route_Stub1 = "-net 192.168.3.0/24 192.168.254.2"
    
    > /etc/netstart #После правки выполним /etc/netstart для перезапуска сети.
PQ VPS сервера в 28+ странах.