Грузится

Наберите для поиска

CentOS — настройки сети

Как

CentOS — настройки сети

Сетевые интерфейсы именуются в операционной системы Linux по его типу и порядковому номеру Для примера все интерфейсы типа Ethernet будут иметь приставку eth и порядковый номер интерфейса в системе (eth0, eth1, eth2 и так далее). Беспроводные интерфейсы WiFi имеют приставку wlan и так же порядковый номер (wlan0, wlan1 и так далее). Интерфейсы для внутренних мостов (internal bridge) для виртуальных машин будет иметь приставку virbr. А интерфейсы для связанных сетей (bounded network) будет называться bond. И так далее.

Название интерфейсов может меняться в различных дистрибутивах и в зависимости использует ли эта система udev или нет. И так например CentOS 7 уже имеет отличные от CentOS 6 имена сетевых интерфейсов.

Что бы посмотреть список всех сетевых интерфейсов запустите следующую команду:

ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:0c:32:cb brd ff:ff:ff:ff:ff:ff
    inet 172.16.58.128/24 brd 172.16.58.255 scope global dynamic ens33
       valid_lft 1483sec preferred_lft 1483sec
    inet6 fe80::2ab5:3843:d9f4:800b/64 scope link 
       valid_lft forever preferred_lft forever

Что бы определенный интерфейс например ens33 запустите:

ip addr show ens33
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:0c:32:cb brd ff:ff:ff:ff:ff:ff
    inet 172.16.58.128/24 brd 172.16.58.255 scope global dynamic ens33
       valid_lft 1563sec preferred_lft 1563sec
    inet6 fe80::2ab5:3843:d9f4:800b/64 scope link 
       valid_lft forever preferred_lft forever

Что бы увидеть статистику по этому порту, добавьте ключ -s:

ip -s addr show ens33
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:0c:32:cb brd ff:ff:ff:ff:ff:ff
    inet 172.16.58.128/24 brd 172.16.58.255 scope global dynamic ens33
       valid_lft 1418sec preferred_lft 1418sec
    inet6 fe80::2ab5:3843:d9f4:800b/64 scope link 
       valid_lft forever preferred_lft forever
    RX: bytes  packets  errors  dropped overrun mcast   
    60129      565      0       0       0       0       
    TX: bytes  packets  errors  dropped carrier collsns 
    46650      340      0       0       0       0

А что бы увидеть таблицу маршрутизации (routing table), запустите:

ip route
default via 172.16.58.2 dev ens33  proto static  metric 100 
172.16.58.0/24 dev ens33  proto kernel  scope link  src 172.16.58.128  metric 100

Для таблицы маршрутизации для IPv6 добавьте -6:

ip -6 route
unreachable ::/96 dev lo  metric 1024  error -113
unreachable ::ffff:0.0.0.0/96 dev lo  metric 1024  error -113
unreachable 2002:a00::/24 dev lo  metric 1024  error -113
unreachable 2002:7f00::/24 dev lo  metric 1024  error -113
unreachable 2002:a9fe::/32 dev lo  metric 1024  error -113
unreachable 2002:ac10::/28 dev lo  metric 1024  error -113
unreachable 2002:c0a8::/32 dev lo  metric 1024  error -113
unreachable 2002:e000::/19 dev lo  metric 1024  error -113
unreachable 3ffe:ffff::/32 dev lo  metric 1024  error -113
fe80::/64 dev ens33  proto kernel  metric 256

Что бы увидеть имя сервера:

hostname
localhost.localdomain

В моем случаи я не менял его с установки и это его значение по умолчанию.

Система не может использовать имена хостов, ей необходимо конвертировать любое имя в его ip адрес. Делается это следующим образом. Для начала проверяется файл /etc/hosts. Он является простым текстовым файлом, который можно редактировать в ручную, а просмотреть так:

cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

Формат его очень простой вначале находит ip адрес за которым следует список имен с которыми он ассоциируется. Если необходимое имя здесь не найдено, то система просит свой resolver запросить эту информацию у DNS сервера. Настройки этого сервиса находятся в файле /etc/resolv.conf и выглядит он вот так:

cat /etc/resolv.conf
# Generated by NetworkManager
search localdomain
nameserver 172.16.58.2

Настройка идет блоками по две строки, первая search определяет доменное имя которое нужно искать, вторая nameserver указывает на DNS сервер для этого доменного имени.

Что бы изменить настройки сетевого интерфейса нужно знать его имя с помощью ip addr. А затем отредактировать настроечный файл /etc/sysconfig/network-scripts/ifcfg-<имя интерфейса> который выглядит так:

cat /etc/sysconfig/network-scripts/ifcfg-ens33 
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=991a0849-1d36-4a87-b5d3-78b289c48889
DEVICE=ens33
ONBOOT=yes

Параметры этого файла означают следующее:

TYPE=Ethernet Тип интерфейса
BOOTPROTO=dhcp Может быть dhcp или static для динамического или статического выделения ip адреса
DEFROUTE=yes Разрешает или запрещает маршрутизацию на этом интерфейса
PEERDNS=yes Разрешать запросы DNS
PEERROUTES=yes Разрешать маршрутизацию
IPV6INIT=yes Включение IPv6
IPV6_AUTOCONF=yes Настраивать ли IPv6 автоматически
NAME=ens33 Имя интерфейса
 UUID=991a0849-1d36-4a87-b5d3-78b289c48889 UUID интерфейса
 DEVICE=ens33 Имя устройства
ONBOOT=yes Включать ли этот интерфейс при загрузки

Многие из этих параметров национальные, а вот что необходимо задать:

Static DHCP Any
BOOTPROTO=static
IPADDR=192.168.0.250
PREFIX=24
GATEWAY=192.168.0.254
DNS1=192.168.0.254
BOOTPROTO=dhcp DEVICE=eth0
ONBOOT=yes
HWADDR=52:54:00:00:00:FA
NM_CONTROLLED=yes

Для того что бы изменения вступили в силу надо рестартануть сервис network, вот так:

systemctl restart network

или опустить и обратно поднять сетевой интерфейс настройки которого были изменены, вот так:

ip link set eth1 down
ip link set eth1 up

А вот если вы пользуетесь сервисом NetworkManager, все изменения будут немедленно вступать в силу.

Если вам надо задать статическую маршрутизацию на определенный интерфейс задайте её в /etc/sysconfig/network-scripts/route-<имя интерфейса>.

NetworkManager запущен в CentOS по умолчанию и может вызывать конфликты с вашей конфигурацией. Если вы хотите сами настроить какой-то интерфейс то отключите его от  NetworkManager-а добавить NM_CONTROLLED=no в его настроечный файл.

Для настройки полного имени сервера, статической маршрутизации и DHCP используется файл /ect/sysconfig/network. Выглядит он примерно, вот так:

NETWORKING=yes
HOSTNAME=demo.simple.com
GATEWAY=192.168.0.254

Также как и resolver содержит ip адрес DNS сервера. И если resolver включен в вашей системе файл /etc/resolv.conf будет автоматически перезаписан когда интерфейс будет поднят если только в нем не стоит PEERDNS=no в его настроечном файле.

Так же для включения и выключения сетевого интерфейса имеются команды ifdown и ifup которые принимают в виде параметра имя интерфейса.

 

Метки

1 Comment

Оставьте коментарий

Your email address will not be published. Required fields are marked *