Yvision.kz
kk
Разное
Разное
399 773 постов42 подписчика
Всяко-разно
1
04:27, 25 августа 2011

Настройка сетевого адаптера из консоли CentOS

Blog post image

Допустим у вас новенький сервер на CentOS, в нем два сетевых адаптера. На сервере установлена CentOS без графического интерфейса, есть только голая консоль. При этом сетевые карты не настроены должным образом.

Задача: Настроить сетевые интерфейсы

Настройки сетевых карт хранятся в файлах:

/etc/sysconfig/network-scripts/ifcfg-eth*

* - за место звездочки ставится номер адаптера

 

Обычно после установки CentOS в этом файле есть только четыре строчки:

# cat /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE="eth0"
HWADDR="08:00:27:79:17:85"
NM_CONTROLLED="yes"
ONBOOT="no"

Следует дописать в этот файл дополнительные настройки:

# vi /etc/sysconfig/network-scripts/ifcfg-eth*

DEVICE="eth0"
HWADDR="08:00:27:79:17:85"
NM_CONTROLLED="no"
ONBOOT="yes"

BOOTPROTO=static
GATEWAY=10.168.50.2
IPADDR=10.168.50.45
NETMASK=255.255.255.0
BROADCAST=10.168.50.255
DNS1=10.168.50.1

После конфигурирования интерфейсов перезагрузите сетевую службу:

# service network restart

Это самый быстрый и простой метод настройки сетевых адаптеров. Когда вы будете настраивать интерфейс, обязательно следите за последовательностью строк в файле ifcfg-eth*. Например если записать "GATEWAY=10.168.50.2" в конце файла, шлюз работать возможно не будет! За место NETMASK=255.255.255.0 можно написать PREFIX=24.

 

Теперь второй вариант настройки, похожий на первый.

Также открываем файл:

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE="eth0"
HWADDR="08:00:27:79:17:85"
NM_CONTROLLED="no"
ONBOOT="yes"
GATEWAY=10.168.50.2
IPADDR=10.168.50.45
NETMASK=255.255.255.0
BROADCAST=10.168.50.255

Интерфейс настроен, осталось прописать DNS сервер и шлюз по умолчанию.

Настройка DNS:

# vi /etc/resolv.conf

nameserver 10.168.50.1     //Первичный DNS

nameserver 10.168.50.2     //Вторичный DNS

Настройка шлюза по умолчанию:

# vi /etc/sysconfig/network

GATEWAY=10.168.50.2

или

# vi /etc/rc.d/rc.local

/sbin/route add default gw 10.168.50.2

 

Проверка маршрута (шлюз по умолчанию):

# netstat -nr

 

После этих комманд наш сервер выйдет в Интернет!

Для проверки можно установить Midnight Commander:

# yum install mc -y

 

Потом уже можно установить network-config-network-tui и setuptool

# yum install system-config-network-tui setuptool -y

# setup

После этого можете конфигурировать интерфейсы в текстовой оболочке, что на много наглядней, чем правка конфигурационных файлов.

 

Расмотрим третий случай, когда нет конфигурационных файлов.

Третий случай это когда нет файлов /etc/sysconfig/network-scripts/ifcfg-eth*

Сетевые адаптеры не видны!

 

Например, допустим система имеет два сетевых интерфейса. Их само собой не видно...

# cat /etc/udev/rules.d/70-persistent-net.rules

В этом файле хранятся настройки карт, файл генерируется при старте системы менеджером устройств.

В нем нам интересно узнать  mac адрес и обозначения сетевых карт.

Mac адрес берется с этого параметра ATTR{address}=="08:00:27:40:03:63"

Обозначение адаптера берется с этого параметра Name="eth0"

Аналогичным образом смотрим настройки второй сетевой карты eth1.

После того как мы узнали Mac адрес и обозначение, можно приступать к созданию файлов ответственных за сетевые адаптеры ifcfg-eth0 и ifcfg-eth1

Mac адрес (ATTR{address}) вписываем за в HWADDR, получится так HWADDR="08:00:27:40:03:63" и пишем обозначение eth0 в DEVICE, получится так: DEVICE=eth0, ну и дальше как обычно прописываете IP адрес, маску, шлюз, броадкаст и bootproto, посмотрите внизу на примерные файлы:

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BROADCAST=10.168.50.255

HWADDR=08:00:27:f1:54:18

IPADDR=10.168.50.48

NETMASK=255.255.255.0

NETWORK=10.168.50.0

ONBOOT=yes

NAME=Internet

# vi /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1

BOOTPROTO=static

HWADDR=08:00:27:40:03:65

IPADDR=192.168.50.1

NETMASK=255.255.255.0

ONBOOT=yes

NAME=LOCAL

Если нет файла  /etc/sysconfig/network, создаем его:

# vi /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=ServakUpal

NETWORKING_IPV6=no

И перезагружаем компьютер:

# shutdown -r now

Или перезапускаем сетевую службу:

# service network restart

После перезагрузки проверяем наличие сетевых карт:

# ifconfig

 

Бывает, что иногда надо прописать статические маршруты

SIOCADDRT:No such process

Делаем так, описываем маршрут локальной сети за которой закреплен адаптер eth1:

# route add -net 192.168.1.0 netmask 255.255.255.0 dev eth1

Описываем маршрут под сети провайдера, адаптер eth0:

# route add -net 217.15.174.47 netmask 255.255.255.248 dev eth1

Добавляем маршрут по умолчанию:

# route add default gw 217.15.174.48

Открываем файл статических маршрутов:

# vi /etc/sysconfig/network-scripts/route-eth1

192.168.1.0/24 via 217.15.174.47 dev eth0

или

default via 217.15.174.47 dev eth0

# vi /etc/sysconfig/network-scripts/static-routes

any net 192.168.1.0 netmask 255.255.255.0 gw 217.15.174.47 eth0

Примечание: Обычно так маршруты не надо прописывать.

Отключение и удаление службы Network Manager

Эта служба помогает на обычном компьютере настраивать сетевые карты, но на серверах обычно ее отключают или вообще удаляют:

Отключение службы:

# service NetworkManager stop

# chkconfig --level 123456 NetworkManager off

 

Удаление Network Manager:

# yum remove dnsmasq -y

После этой процедуры, будет возможно править в ручную сетевые настройки.

А если вам противна консоль, установите KDE Desktop:

# yum grouplist | grep KDE

# yum groupinstall "Development Tools" "X Window System" "KDE Desktop"       //Для установки KDE Desktop

# yum groupinstall "Development Tools" "X Window System" Desktop        //Для установки Gnome Desktop

# startx

Автоматическая загрузка:

vi /etc/inittab

id:3:initdefault

меняем на:

id:5:initdefault

 
1
15843
1