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

Если во время установки CentOS Minimal вы не настроили сеть или вам необходимо временно назначить дополнительный IP-адрес для интерфейса, вы можете использовать команды IP и ROUTE. Установка производится через консоль.

Имейте в виду, что доступ ко всем функциям предлагает только ip. Используя route, вы не сможете настроить «расширенные» функции, такие как политики маршрутизации, и вы не увидите их в выходных данных команды просмотра, если они уже настроены в системе. Поэтому вы должны использовать ip всякий раз, когда это возможно.

Использование ip

Синтаксис ip имеет структуру, аналогичную синтаксису Cisco IOS. Все опции могут быть сведены к неоднозначности, например, ip ro ad вместо ip route add.

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

ip route add 172.16.1.0/24 via 192.168.10.1

Добавление маршрута через интерфейс

ip route add 172.16.1.0/24 dev eth0

Маршрут с метрикой

ip route add 172.16.1.0/24 dev eth0 metric 100

Назначить адрес

ip a add 10.55.100.3/24 dev eth0

Назначить адрес 2:

ifcfg eth0 192.168.10.2/24

Назначить маршрут по умолчанию

ip route add default via 192.168.10.1

Команда вида ip route add blackhole 10.58.53.0/27 добавляет «нулевой» маршрут (аналог ip route … null0 в Cisco). Пакеты в сеть с этим маршрутом будут отброшены по причине «No route to host». Может быть полезно при DoS-атаке с хоста или других подобных случаев.

Действия с маршрутами:
Кроме add также поддерживаются и другие действия:

del — удалить маршрут.
replace — заменить маршрут другим.
change — изменить параметры маршрута.
Equal Cost Multi Path

Если вы добавите два маршрута в одну и ту же сеть, используя одну и ту же метрику, ядро ​​начнет распределять нагрузку между ними, выбирая один или другой с равной вероятностью (round robin). Работает и на более чем двух маршрутах. Предупреждение: это может вызвать проблемы с входящими соединениями, потому что иногда ответ может пойти по другому маршруту, отличному от запроса. Будьте осторожны.

ip route add default dev eth0
ip route add default dev eth1

Использование route

Чтобы использовать команду route, вам нужен пакет net-tools. По умолчанию его нет в минимальной установке. Поэтому после начальной настройки с помощью команды ip вы можете установить ее.

yum -y install net-tools

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

route add -net 192.168.0.0/16 gw 10.0.0.1

Добавление маршрута через интерфейс

route add -net 192.168.0.0/16 dev eth1

Маршрут до отдельного хоста

route add -host 192.168.10.1 gw 172.16.0.1

Назначить маршрут по умолчанию

route add default gw 192.168.10.1

Удаление маршрута

route del ...

Сохранение настроек сети

Определяем, какие интерфейсы есть в системе

ip a
1: lo: LOOPBACK,UP,LOWER_UP mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
2: eth0: BROADCAST,MULTICAST,UP,LOWER_UP mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:15:17:19:5f:d8 brd ff:ff:ff:ff:ff:ff
inet 10.17.10.1/28 brd 82.241.15.17 scope global eth0
3: eth1: BROADCAST,MULTICAST,UP,LOWER_UP mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:15:17:19:5f:d9 brd ff:ff:ff:ff:ff:ff
inet 192.168.11.11/24 brd 192.168.11.255 scope global eth1
inet 10.52.0.1/8 brd 10.255.255.255 scope global eth1:3
inet 192.168.32.16/24 brd 192.168.70.255 scope global eth1:1
4: gre0: NOARP mtu 1476 qdisc noop state DOWN
link/gre 0.0.0.0 brd 0.0.0.0
5: gretap0: BROADCAST,MULTICAST mtu 1476 qdisc noop state DOWN qlen 1000
link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
6: [email protected]: BROADCAST,MULTICAST,UP,LOWER_UP mtu 1500 qdisc noqueue state UP
link/ether 00:15:17:19:5f:d9 brd ff:ff:ff:ff:ff:ff
inet 192.168.124.254/23 brd 192.168.124.255 scope global eth1.122

Сохраняем настройки

Для сохранение я настроек необходимо внести изменения я конфигурационный файл интерфейса, который находиться /etc/sysconfig/network-scripts/ifcfg-eth0 и приводим его к виду:

DEVICE="eth0"
BOOTPROTO=none
NM_CONTROLLED="yes"
ONBOOT=yes
TYPE="Ethernet"
UUID="7f9fe579-ac2f-4e35-9445-7685620fa61d"
HWADDR=00:15:17:19:5F:D8
IPADDR=10.17.0.1
PREFIX=28
GATEWAY=10.17.0.254
DNS3=8.8.4.4
DNS2=8.8.8.8
DNS1=192.168.11.2
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"

Перезапуск сети

После внесения изменений необходимо перезапустить демон сети

service network restart

или так

/etc/init.d/network restart

Сохранение статических маршрутов

Статические маршруты указываются в файлах /etc/sysconfig/network-scripts/route-IFNAME с добавлением имени интерфейса

Вариант 1
cat /etc/sysconfig/network-scripts/route-eth1
192.168.0.0/16 via 192.168.11.1
10.10.0.0/16 via 192.168.11.1
Вариант 2
cat /etc/sysconfig/network-scripts/route-eth1
ADDRESS0=192.168.0.0
NETMASK0=255.255.0.0
GATEWAY0=192.168.11.1
ADDRESS1=172.16.0.0
NETMASK1=255.196.0.0
GATEWAY1=192.168.11.1
ADDRESS2=10.10.0.0
NETMASK2=255.255.0.0
GATEWAY2=192.168.11.1

Оба варианта имеют право на существование, но первый немного лаконичней. После чего необходимо перезагрузить демон сети

Привязка интерфейса к карте

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

Конфигурационный файл обновляется автоматически при первом обнаружении очередной сетевой карты и находится в файле /etc/udev/rules.d/70-persistent-net.rules файл состоит из строк такого содержания:

  1. PCI device 0x1af4:0x1000 (virtio-pci)
    SUBSYSTEM==”net”, ACTION==”add”, DRIVERS==”?*”, ATTR{address}==”52:54:00:29:24:1e”, ATTR{type}==”1″, KERNEL==”eth*”, NAME=”eth0″
    Видно, что нумерация опирается на аппаратный (MAC) адрес карты. Если в компьютере заменить карту, то интерфейс eth0 станет недоступным, а новая карта получит имя eth1. Если есть желание вручную назначить имена картам, то можно отредактировать этот файл, выставив желаемые соответствия между MAC адресами именами интерфейсов (возможно потребуется перезагрузка)

Общие настройки сети

Файл /etc/sysconfig/network используется стартовыми скриптами и содержит ключевые параметры – нужна ли сеть, нужно ли конфигурировать IP v6, имя компьютера. Сюда можно вписать шлюз по умолчанию, но CentOS 6 ориентируется на динамическое подкючение к сетям через WiFi и вписывает его в конфигурацию подходящего интерфейса.

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=www.example.com

GATEWAY=10.10.10.1
Конфигурация интерфейса
Файлы в каталоге /etc/sysconfig/network-scripts с именами вида ifcfg-eth0

Динамическая конфигурация интерфейса

ONBOOT="yes"
DEVICE="eth0"
BOOTPROTO="dhcp"

Ручная конфигурация

Статическая конфигурация интерфейса

ONBOOT="yes"
DEVICE="eth1"
BOOTPROTO="static"
IPADDR=86.15.131.211
PREFIX=24

Конфигурация шлюза и DNS

GATEWAY=192.168.1.1
DEFROUTE=yes
DNS1=192.168.1.12

NM – NetworkManager – графическая оболочка + автоматизация настроек
NM_CONTROLLED=”no”

Дополнительный IP адрес на интерфейсе eth1

ONBOOT=no
DEVICE=eth1:0
BOOTPROTO=static
IPADDR=172.16.13.6
NETMASK=255.255.0.0

Следующие два параметра можно не писать, они вычисляются из IP и маски

BROADCAST=172.16.255.255
NETWORK=172.16.0.0

Инициализация VLAN на eth1

DEVICE=eth1.72
VLAN=yes
VLAN_TRUNK_IF=eth1
BOOTPROTO=static
IPADDR=10.10.10.1
NETMASK=255.255.255.192
ONBOOT=yes

Настройка DNS Файл /etc/resolv.conf

  1. мой домен, для подстановки в короткие имена
    search example.com
  2. сервер DNS
    nameserver 8.8.8.8
    Ручная настройка имен хостов файл /etc/hosts
127.0.0.1 localhost.localdomain localhost ANY
::1 localhost6.localdomain6 localhost6

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *