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

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

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

Итак, самое превое, это просмотр настроек сети:

[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
ow
1: lo: <LOOPBACK,UP,LOWER_UP> 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: <BROADCAST,MULTICAST,UP,LOWER_UP> 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: <NOARP> mtu 1480 qdisc noop
    link/sit 0.0.0.0 brd 0.0.

Вывести список всех ip адресов машины можно, с маской подсети:

[root@kazan ~]# ip addr show | grep inet | grep -v inet6 | awk '{print $2}'
127.0.0.1/8
192.168.12.200/24

без маски:

[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

Настройки сетевых интерфейсов хранятся в /etc/sysconfig/network-scripts/ для примера покажу eth0

[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

если правите настройки, незабываем рестартить сеть /etc/init.d/network restart

это универсальный конфиг, например нужно создать виртуальный интерфейс eth0:0 для это создаем /etc/sysconfig/network-scripts/ifcfg-eth0:0 с ip адресом 192.168.12.201, для этого:

[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# cat /etc/sysconfig/network-scripts/ifcfg-eth0:0
# VIA Technologies, Inc. VT6105 [Rhine-III]
ine-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

и рестартим # /etc/init.d/network restart
init.d/network restart
Деактивируется интерфейс eth0:                             [  OK  ]
Деактивируется интерфейс-петля:                            [  OK  ]
Активируется интерфейс loopback:                           [  OK  ]
# ifconfig eth0:0
тся интерфейс 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.25

Другая, нередкая ситуация с серверами в датацентре, нужно повесить на машину диапазон ip адресов. Для примера возьмем 192.168.12.202 до 192.168.12.210. для этого:

[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# ifconfig | grep -E "eth0|inet addr"
 

Настройка сети с помощью ifconfig и route. Предположим, на сервере есть второй интерфейс eth1, нужно повестиь на него ip из другой сети. Показываю на примере:

ifconfig -a eth0 192.168.1.200 netmask 255.255.255.0
route add default gw 192.168.1.100

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

» Запись из раздела 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 не удаётся соорудить.. спасибо!!!




Ответить