Команда ifconfig используется для настройки сетевых интерфейсов. Команда должна использоваться при загрузке системы для настройки адресов каждого сетевого интерфейса, а также может использоваться после загрузки для изменения параметров сетевых интерфейсов. Если команда введена без аргументов, ifconfig выдает информацию о состоянии активных интерфейсов. Если в качестве аргумента указан какой-либо интерфейс, то выдается информация только о состоянии этого интерфейса; если указан один аргумент -a, выдается информация о состоянии всех интерфесов, даже отключенных. Пример:
Иначе команда конфигурирует указанный интерфейс. Изменить настройки какого-либо интерфейса может только суперпользователь.
Опции:
интерфейс
– имя интерфейса (например, rl0 в BSD или eth0 в Linux).
up
– вызывает активизацию интерфейса. Задается неявно при присвоении адреса интерфейсу.
down
– вызывает остановку работы драйвера для интерфейса.
[-]arp
– включает или отключает использование протокола ARP для интерфейса.
[-]promisc
– включает или отключает неразборчивый режим (promiscuous mode) работы интерфейса. В этом режиме все проходящие по сети пакеты будут приниматься интерфейсом.
[-]allmulti
– включает или отключает режим all-multicast. В этом режиме все многоадресные (multicast) пакеты в сети будут приниматься интерфейсом.
metric N
– устанавливает метрику интерфейса.
mtu N
– устанавливает максимальный размер пакета (Maximum Transfer Unit - MTU) для интерфейса.
адрес
– IP-адрес, присваиваемый интерфейсу.
netmask адрес
– устанавливает маску сети IP для этого интерфейса. По умолчанию используется обычная маска сети класса A, B или C (что определяется по IP-адресу интерфейса), но можно усановить любое значение.
add адрес/длина_префикса
– добавляет адрес IPv6 для интерфейса.
del адрес/длина_префикса
– удаляет адрес IPv6 для интерфейса.
irq адрес
– устанавливает аппаратное прерывание, используемое устройством. Не для всех устройств можно динамически менять значение IRQ.
media тип
– устанавливает физический порт или тип носителя, используемый устройством. Не для всех устройств можно менять этот параметр, и для разных устройств могут поддерживаться различные значения. Типичные значения типа - 10base2 (коаксиальный кабель Ethernet), 10baseT (витая пара Ethernet 10 Мбит/сек), AUI (внешний передатчик) и т.д. Специальный тип носителя auto можно использовать, чтобы потребовать от драйвера автоматически обпределять тип носителя. Не все драйверы могут это делать.
[-]broadcast [адрес]
– если указан аргумент адрес, задает соответствующий протоколу широковещательный адрес для интерфейса. В противном случае устанавливает (или сбрасывает) флаг IFF_BROADCAST для интерфейса.
Таблица с информацией о канальном уровне содержит связь IP- и MAC-адресов. При использовании параметра -n IP-адреса не будут заменяться символьными именами хостов.
route
Эта команда используется для просмотра и изменения таблицы маршрутизации хоста. Для этой команды также работает параметр -n, при использовании которого IP-адреса не будут заменяться символьными именами хостов.
Пример обычной таблицы маршрутизации для отдельного компьютера в сети:
desktop ~ # route -nKernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Iface192.168.5.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo0.0.0.0 192.168.5.254 0.0.0.0 UG 0 0 0 eth1
Особый интерес представляет адрес 0.0.0.0, который соответствует хосту назначения по умолчанию.
Для добавление нового маршрута к определённому хосту используются параметры add и -host:
desktop ~ # route add -host 192.168.0.1 eth0
Эта команда создаёт новую строку в таблице маршрутизации, согласно которой все пакеты к узлу 192.168.0.1 должны отправляться в сетевой интерфейс eth0.
Также можно добавлять шлюз для отправки пакетов в определённую сеть или к хосту: