Настройка сети в CentOS Linux

Запись создана 6 апреля, 2009

тема простая, но судя по вопросам в icq, вопросы по ней еще возникают. Попытаюсь всё в одной статье описать.

Итак, самое превое, это просмотр настроек сети:
[cc lang=»bash»]
[root@kazan ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:19:5B:72:57:C5
inet addr:192.168.12.200 Bcast:192.168.12.255 Mask:255.255.255.0
inet6 addr: fe80::219:5bff:fe72:57c5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:10459189 errors:0 dropped:0 overruns:0 frame:0
TX packets:8331867 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1098049417 (1.0 GiB) TX bytes:3691672162 (3.4 GiB)
Interrupt:10 Base address:0x2000

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:201334 errors:0 dropped:0 overruns:0 frame:0
TX packets:201334 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:29023905 (27.6 MiB) TX bytes:29023905 (27.6 MiB)

или
[root@kazan ~]# ip addr show
1: lo: mtu 16436 qdisc noqueue
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: mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:19:5b:72:57:c5 brd ff:ff:ff:ff:ff:ff
inet 192.168.12.200/24 brd 192.168.12.255 scope global eth0
inet6 fe80::219:5bff:fe72:57c5/64 scope link
valid_lft forever preferred_lft forever
3: sit0: mtu 1480 qdisc noop
link/sit 0.0.0.0 brd 0.0.0.0
[/cc]
Вывести список всех ip адресов машины можно, с маской подсети:
[cc lang=»bash»][root@kazan ~]# ip addr show | grep inet | grep -v inet6 | awk ‘{print $2}’
127.0.0.1/8
192.168.12.200/24
[/cc]
без маски:[cc lang=»bash»][root@kazan ~]# ip addr show | grep inet | grep -v inet6 | awk ‘{print $2}’ | awk -F»/» ‘{print $1}’
127.0.0.1
192.168.12.200
[/cc]

Настройки сетевых интерфейсов хранятся в /etc/sysconfig/network-scripts/ для примера покажу eth0
[cc lang=»bash»]
[root@kazan ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
# VIA Technologies, Inc. VT6105 [Rhine-III]
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.12.255
HWADDR=00:19:5B:72:57:C5
IPADDR=192.168.12.200
NETMASK=255.255.255.0
NETWORK=192.168.12.0
ONBOOT=yes
[/cc]
если правите настройки, незабываем рестартить сеть /etc/init.d/network restart

это универсальный конфиг, например нужно создать виртуальный интерфейс eth0:0 для это создаем /etc/sysconfig/network-scripts/ifcfg-eth0:0 с ip адресом 192.168.12.201, для этого:
[cc lang=»bash»]
[root@kazan ~]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:0
[root@kazan ~]# sed -i «s/eth0/eth0:0/» /etc/sysconfig/network-scripts/ifcfg-eth0:0
[root@kazan ~]# sed -i «s/192.168.12.200/192.168.12.201/» /etc/sysconfig/network-scripts/ifcfg-eth0:0
проверяем:
[root@kazan ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0:0
# VIA Technologies, Inc. VT6105 [Rhine-III]
DEVICE=eth0:0
BOOTPROTO=static
BROADCAST=192.168.12.255
HWADDR=00:19:5B:72:57:C5
IPADDR=192.168.12.201
NETMASK=255.255.255.0
NETWORK=192.168.12.0
ONBOOT=yes

и рестартим сеть:
[root@kazan ~]# /etc/init.d/network restart
Деактивируется интерфейс eth0: [ OK ]
Деактивируется интерфейс-петля: [ OK ]
Активируется интерфейс loopback: [ OK ]
Активируется интерфейс eth0: [ OK ]

проверяем:
[root@kazan ~]# ifconfig eth0:0
eth0:0 Link encap:Ethernet HWaddr 00:19:5B:72:57:C5
inet addr:192.168.12.201 Bcast:192.168.12.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:10 Base address:0x2000
[/cc]

Другая, нередкая ситуация с серверами в датацентре, нужно повесить на машину диапазон ip адресов. Для примера возьмем 192.168.12.202 до 192.168.12.210. для этого:
[cc lang=»bash»]
[root@kazan ~]# echo «IPADDR_START=192.168.12.202» > /etc/sysconfig/network-scripts/ifcfg-eth0-range0
[root@kazan ~]# echo «IPADDR_END=192.168.12.210» >> /etc/sysconfig/network-scripts/ifcfg-eth0-range0
[root@kazan ~]# echo «NETMASK=255.255.255.0» >> /etc/sysconfig/network-scripts/ifcfg-eth0-range0
[root@kazan ~]# echo «CLONENUM_START=1» >> /etc/sysconfig/network-scripts/ifcfg-eth0-range0
[root@kazan ~]# echo «NO_ALIASROUTING=yes» >> /etc/sysconfig/network-scripts/ifcfg-eth0-range0
[root@kazan ~]# /etc/init.d/network restart
проверяем:
[root@kazan ~]# ifconfig | grep -E «eth0|inet addr»
eth0 Link encap:Ethernet HWaddr 00:19:5B:72:57:C5
inet addr:192.168.12.200 Bcast:192.168.12.255 Mask:255.255.255.0
eth0:0 Link encap:Ethernet HWaddr 00:19:5B:72:57:C5
inet addr:192.168.12.201 Bcast:192.168.12.255 Mask:255.255.255.0
eth0:1 Link encap:Ethernet HWaddr 00:19:5B:72:57:C5
inet addr:192.168.12.202 Bcast:192.168.12.255 Mask:255.255.255.0
eth0:2 Link encap:Ethernet HWaddr 00:19:5B:72:57:C5
inet addr:192.168.12.203 Bcast:192.168.12.255 Mask:255.255.255.0
eth0:3 Link encap:Ethernet HWaddr 00:19:5B:72:57:C5
inet addr:192.168.12.204 Bcast:192.168.12.255 Mask:255.255.255.0
eth0:4 Link encap:Ethernet HWaddr 00:19:5B:72:57:C5
inet addr:192.168.12.205 Bcast:192.168.12.255 Mask:255.255.255.0
eth0:5 Link encap:Ethernet HWaddr 00:19:5B:72:57:C5
inet addr:192.168.12.206 Bcast:192.168.12.255 Mask:255.255.255.0
eth0:6 Link encap:Ethernet HWaddr 00:19:5B:72:57:C5
inet addr:192.168.12.207 Bcast:192.168.12.255 Mask:255.255.255.0
eth0:7 Link encap:Ethernet HWaddr 00:19:5B:72:57:C5
inet addr:192.168.12.208 Bcast:192.168.12.255 Mask:255.255.255.0
eth0:8 Link encap:Ethernet HWaddr 00:19:5B:72:57:C5
inet addr:192.168.12.209 Bcast:192.168.12.255 Mask:255.255.255.0
eth0:9 Link encap:Ethernet HWaddr 00:19:5B:72:57:C5
inet addr:192.168.12.210 Bcast:192.168.12.255 Mask:255.255.255.0
[/cc]

Настройка сети с помощью ifconfig и route. Предположим, на сервере есть второй интерфейс eth1, нужно повестиь на него ip из другой сети. Показываю на примере:
[cc lang=»bash»]
ifconfig -a eth0 192.168.1.200 netmask 255.255.255.0
route add default gw 192.168.1.100
[/cc]

Есть вопросы? добро пожаловать в комментарии.

» Запись из раздела CentOS Linux, networking | 9 комментариев

Комментарии



9 комментариев to “Настройка сети в CentOS Linux”

  1. garmon on 22 февраля, 2012 7:51

    Как вручную подключить сетевой интерфейс, если ifconfig его не видит, а скрипты в /etc/sysconfig/network-scripts были удалены?

  2. Артур Шакиров on 22 февраля, 2012 8:16

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

  3. garmon on 22 февраля, 2012 9:50

    Ни NM ни ifconfig -a не видят сетевые карты. Интерфейсы видны через /sbin/lspci | grep Ethernet

  4. Ka3aH6ac on 28 марта, 2012 18:31

    garmon Если стерты скрипты и Network Manager не видит, тогда помогает следующее:
    # cat /etc/udev/rules.d/70-persistent-net.rules
    По этой команде ты узнаешь имя адаптера и его mac адрес
    Далее, если тебе известны выше полученное, тогда просто создаешь файлы:
    /etc/sysconfig/network-scripts/ifcfg-eth0
    /etc/sysconfig/network-scripts/ifcfg-eth1

    И там как обычно вписываешь:
    DEVICE=eth0
    BOOTPROTO=static
    BROADCAST=192.168.12.255
    HWADDR=00:19:5B:72:57:C5
    IPADDR=192.168.12.200
    NETMASK=255.255.255.0
    NETWORK=192.168.12.0
    ONBOOT=yes

    Здесь главные параметры это DEVICE и HWADDR, которые мы получили с помощью:
    # cat /etc/udev/rules.d/70-persistent-net.rules

    Все просто, и еще запомни, что если ты настраиваешь адаптеры с помошью NM, то не трогай утилиту setup и system-network-tui.

  5. Артур Шакиров on 28 марта, 2012 18:35

    Обратите внимание на дату поста, NetworManager появился только в 6-ой CentOS.

  6. Ka3aH6ac on 28 марта, 2012 19:20

    Он и в пятой версии был по моему, я его даже удалял.
    И в шестой есть

  7. Writer on 29 марта, 2012 11:04
  8. awful on 26 декабря, 2012 22:45

    по моему тебе написали что нет вывода на
    lspci | grep Ethernet

  9. Pavel on 11 июня, 2013 16:44

    день добрый!
    Спасибо за статью!
    Подскажите, как настроить Wi-FI из консоли на Centos? когда есть адаптер, его система видит, сети видно.. но что-то не идёт.. wlan0 создан но WPA2 не удаётся соорудить.. спасибо!!!




Ответить