Конфигурация сетевой инфраструктуры linux

Ручная настройка сети в Linux

Для доступа к сетевым картам в Linux используются так называемые интерфейсы. Интерфейсы это не файлы устройств и их нет в каталоге /dev. Интерфейсы создаются динамически и не всегда связаны с сетевыми картами. Например интерфейс ppp0 — это интерфейс VPNа, организованного по протоколу PPTP, а интерфейс lo это виртуальная сетевая карта с адресом localhost (127.0.0.1). В Linux имена интерфейсов традиционно состоят из мнемонического типа интерфейса и его порядкового номера. Карты ethernet доступны через интерфейсы eth0, eth1 и т.д. В системах, использующих systemd способ именования другой — интерфейсы имеют имена вида enp2s0 (en -Ethernet, p — PCI, 2 — номер на шине) Список всех интерфейсов можно посмотреть командой ifconfig -a или ip link .

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

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

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

# PCI device 0x1af4:0x1000 (virtio-pci) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR=="52:54:00:29:24:1e", ATTR=="1", KERNEL=="eth*", NAME="eth0" 

Видно, что нумерация опирается на аппаратный (MAC) адрес карты. Если в компьютере заменить карту, то интерфейс eth0 станет недоступным, а новая карта получит имя eth1. Если есть желание вручную назначить имена картам, то можно отредактировать этот файл, выставив желаемые соответствия между MAC адресами именами интерфейсов (возможно потребуется перезагрузка).

Читайте также:  Альт линукс файловый сервер

ifcfg

Классическая утилита конфигурации сетевых интерфейсов ifcfg

#просмотр списка активных интерфейсов ifcfg #просмотр конфигурации конкретного интерфейса ifcfg eth0 #просмотр списка доступных интерфейсов ifcfg -a #настройка ip адреса и активация интерфейса ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up #деактивация интерфейса ifconfig eth0 down 

route

Настройка таблицы маршрутизации route

#добавление шлюза по умолчанию route add default gw 192.168.0.1 #добавление маршрута в локальную сеть route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0 #добавление маршрута в удаленную сеть route add -net 192.57.66.0 netmask 255.255.255.0 gw 192.168.0.2 #удаление маршрута route del -net 192.57.66.0 netmask 255.255.255.0 gw 192.168.0.2 #просмотр таблицы маршрутизации route #или netstat -r 

ip

В современных дистрибутивах линукса на смену ifconfig и route приходит универсальная утилита ip

#просмотр списка доступных интерфейсов ip link #просмотр статистики по интерфейсам ip -s link #просмотр ip адресов ip addr #просмотр таблицы маршрутизации ip route 

DNS

Адреса серверов DNS и имя локального домена вписываются в файл /etc/resolv.conf

search example.com nameserver 8.8.8.8 

Ручная настройка сети в ArchLinux

Для просмотра доступных сетевых интерфейсов используется команда ip link

ArchLinux использует для настройки сети systemd/netctl . Для конфигурации используются файлы профилей, которые хранятся в /etc/netctl/ . В данном каталоге есть подкаталог examples/ из которого можно копировать файлы с образцами профилей в /etc/netctl/ . Например:

cp /etc/netctl/examples/ethernet-static /etc/netctl/enp1s0-work 

Содержимое enp1s0-work после редактирования

Interface=enp1s0 Connection=ethernet IP=static Address=('10.1.10.2/24') Gateway='10.1.10.1' DNS=('10.1.10.1') 
#активация профиля netctl start enp1s0-work #включение автоматической активации с текущими настройками профиля при старте системы netctl enable enp1s0-work #обновление конфигурации автостарта после изменения настроек профиля netctl reenable enp1s0-work 

Ручная настройка сети в Ubuntu 20 и старше

В Ubuntu 20 система скриптов ifup / ifdown заменена программой netplan , со своими конфигурационными файлами на языке YAML — /etc/netplan/имяфайла.yaml

Читайте также:  Менеджер лицензий hasp linux

Пример конфигурации

Здесь только секция ethernets, но могут быть секции для vlan, bonding и т.д. Массивы имеют две альтернативные формы записи — в квадратных скобках и построчно, где каждая строка начинается с «- «. link-local: [] — запрет IPV6

network: version: 2 renderer: networkd ethernets: enp3s0f0: link-local: [] addresses: - 192.168.56.110/24 routes: - to: 172.16.0.0/24 via: 192.168.56.100 gateway4: 192.168.56.1 nameservers: addresses: [8.8.8.8, 8.8.4.4] 

Команды

netplan generate — генерация из файлов YAML конфигураций для бэкендов NetworkManager или systemd-networkd в каталогах /run/каталог_бэкенда/. Здесь же проходит валидация синтаксиса.

netplan apply — применение конфигурации

Ручная настройка сети в Ubuntu

Просмотр доступных интерфейсов — ifcfg -a

Файл конфигурации интерфейсов — /etc/network/interfaces . auto — говорит о том, что интерфейс надо конфигурировать при старте системы.

iface eth0 inet static address 192.168.0.1 netmask 255.255.255.0 gateway 192.168.0.254 auto eth0 iface eth1 inet dhcp auto eth1 

После смены настроек в /etc/network/interfaces , необходимо отключить и снова включить интерфейс.

Ручная настройка сети в CentOS 6

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

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

NETWORKING=yes NETWORKING_IPV6=no HOSTNAME=wwww.example.com GATEWAY=10.10.10.1 

Конфигурация интерфейса

Файлы в каталоге /etc/sysconfig/network-scripts с именами вида ifcfg-eth0

Интерфейс, получающий адрес по DHCP

# динамическая конфигурация интерфейса ONBOOT="yes" DEVICE="eth0" BOOTPROTO="dhcp" 
# статическая конфигурация интерфейса ONBOOT="yes" DEVICE="eth1" BOOTPROTO="static" IPADDR=145.14.137.221 PREFIX=24 # конфигурация шлюза и DNS GATEWAY=192.168.1.1 DEFROUTE=yes DNS1=192.168.1.14 # NM - NetworkManager - графическая оболочка + автоматизация настроек NM_CONTROLLED="no" 

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

ONBOOT=no DEVICE=eth1:0 BOOTPROTO=static IPADDR=172.16.12.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.0.1 NETMASK=255.255.255.192 ONBOOT=yes 

Настройка DNS

Файл /etc/resolv.conf

# мой домен, для подстановки в короткие имена search example.com # сервер DNS nameserver 8.8.8.8 

Ручная настройка имен хостов файл /etc/hosts

127.0.0.1 localhost.localdomain localhost ANY ::1 localhost6.localdomain6 localhost6 194.87.0.50 www.ru 

Настройка брандмауэра

Файл /etc/sysconfig/system-config-firewall правила для настройки программой system-config-firewall

Читайте также:  401 Unauthorized

Файл /etc/sysconfig/iptables текущие правила, сохраненные на случай перезагрузки.

После ручного изменения правил их можно сохранить командой service iptables save

Источник

Оцените статью
Adblock
detector