Posts Tagged ‘ifconfig’

Добавляем IP в CentOS (RedHat, Fedora)

Monday, November 19th, 2007

Пусть для примера установлен 1 ip на интерфейсе eth0:
eth0 Link encap:Ethernet HWaddr 00:11:22:33:44:55
inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0

Задача: добавить еще один адрес 192.168.0.11.
Создадим /etc/sysconfig/network-scripts/ifcfg-eth0:0 со следующим содержанием:

DEVICE=eth0:0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.11
NETMASK=255.255.255.255

После этого выполняем

service network restart

Выполняем ifconfig, видим что появился eth0:0

eth0:0 Link encap:Ethernet HWaddr 00:11:22:33:44:55
inet addr:192.168.0.11 Bcast:192.168.0.11 Mask:255.255.255.255
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:185 Base address:0xa000

Теперь несколько усложним задачу, предположим нам нужно добавить 20 штук ip 192.168.0.101-120.
Можно сделать 20 конфигов, аналогичных указанному выше, но для добавления непрерывного диапазона ip есть способ лучше.
Создадим /etc/sysconfig/network-scripts/ifcfg-eth0-range0

IPADDR_START=192.168.0.101
IPADDR_END=192.168.0.120
NETMASK=255.255.255.255
CLONENUM_START=1
NO_ALIASROUTING=yes

Выполним

service network restart

В результате появятся 20 алиасов eth0:1 - eth0:20, c заданными нами адресами.

Нужно отметить что добавлять/изменять/удалять ip-адреса можно с помощью команд ip и ifconfig, например если нужно временно поднять дополнительный адрес:

ifconfig eth0:0 inet 192.168.0.11/32

Естественно, после перезагрузки адрес пропадет.
Чтобы убрать:

ifconfig eth0:0 down

Список IP-адресов сервера

Tuesday, November 6th, 2007

Иногда есть необходимость вывести список IP сервера, и ничего лучшего я не придумал, чем парсить вывод ifconfig при помощи awk:

Пример для Linux:

ifconfig | grep inet | awk ‘{ print $2 }’ | awk -F: ‘{ print $2 }’ | grep -v ‘^$’

Пример для FreeBSD:

ifconfig | grep inet | awk ‘{ print $2 }’

Возможно есть способ лучше, но и этот работает.