====== Настройка сети в Linux ====== * [[https://wiki.debian.org/ru/NetworkConfiguration]] * [[http://help.ubuntu.ru/wiki/%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%81%D0%B5%D1%82%D0%B8_%D0%B2%D1%80%D1%83%D1%87%D0%BD%D1%83%D1%8E|Настройка сети вручную]] ===== Команды для настройки ===== ==== Настройка ip параметров с использованием утилиты ip ==== # apt install iproute2 $ ip link show # ip link set enp0s3 up # ip addr add 172.16.1.X/24 dev enp0s3 # ip addr show dev enp0s3 # ip route add default via 172.16.1.254 # ip addr del 172.16.1.X/24 dev enp0s3 # ip addr flush dev enp0s3 ==== Динамическая настройка ip параметров ==== # dhclient enp0s3 # ip a ==== Настройка ip параметров с использованием классических утилит ==== ubuntu# apt install net-tools # ifconfig -a # ifconfig eth0 inet 172.16.1.X/24 # route add default gw 172.16.1.254 ==== Настройка hostname ==== # hostname server.corpX.un ===== Команды для диагностики ===== * [[http://www.binarytides.com/linux-commands-monitor-network/|18 commands to monitor network bandwidth on Linux server]] # ip link show # ip a # ifconfig -a # ethtool eth0 # ethtool -s eth1 speed 100 duplex full # ethtool -s eth1 autoneg on # arp -n # ip n s # ip n f all # netstat -rn # ip r # ping 8.8.8.8 # tracepath -n ya.ru # netstat -tupan # lsof -i -P # ss -anptu # ss -lnp | grep ':80' # количество подключений с каждого адреса (https://serverfault.com/questions/421310/check-the-number-of-active-connections-on-port-80) # ss -tn src :80 or src :443 | tr -s ' ' | cut -d ' ' -f5 | cut -d ':' -f1 | sort | uniq -c | sort -n ===== Файлы конфигурации ===== ==== Настройка имен интерфейсов ==== * [[Использование загрузчика GRUB#Переименование интерфейсов]] ==== Общие файлы конфигурации ==== # hostnamectl set-hostname server.corpX.un # cat /etc/hostname server.corpX.un # cat /etc/hosts 127.0.0.1 localhost 172.16.1.X server.corpX.un server # apt remove resolvconf # cat /etc/resolv.conf nameserver 172.16.1.254 search corpX.un ==== Файлы конфигурации ifupdown (Debian/Ubuntu<18) ==== * [[http://help.ubuntu.ru/manual/подключение_к_интернету|Руководство по Ubuntu. Настройка подключения к интернету]] * [[http://forum.ubuntu.ru/index.php?topic=58492.0|Форум русскоязычного сообщества Ubuntu. Тема: Сетевая конфигурация]] === Статическая настройка параметров === # cat /etc/network/interfaces auto lo iface lo inet loopback auto enp0s3 iface enp0s3 inet static address 172.16.1.X netmask 255.255.255.0 gateway 172.16.1.254 # apt install resolvconf # dns-nameservers 172.16.1.254 # dns-search corpX.un ### Alias example ### # auto eth0:0 # iface eth0:0 inet static # address 192.168.1.10 # netmask 255.255.255.0 ### Bridge example ### ### http://bwachter.lart.info/linux/bridges.html ### ### ### https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1812219.html ### В Debian 11 требуется Promoskye режим в виртуализации ### # apt install bridge-utils # auto br0 # iface br0 inet static # address 172.16.1.X # netmask 255.255.255.0 # gateway 172.16.1.254 # bridge_ports eth0 eth1 # bridge_stp off # bridge_maxwait 5 # post-up /sbin/brctl setfd br0 0 ### 802.1q example ### # apt install vlan # auto vlan2 # iface vlan2 inet static # address 192.168.100+X.1 # netmask 255.255.255.0 # mtu 1500 # vlan_raw_device eth0 ### UP iface without ip example ### # auto eth1 # iface eth1 inet manual # up ip link set eth1 up # ifup enp0s3 # ifdown --force enp0s3 === Динамическая настройка параметров === client1# dhclient eth0 client1# cat /etc/hostname client1 client1# :> /etc/resolv.conf или [[Система безопасности UNIX#Команда chattr]] client1# cat /etc/hosts 127.0.0.1 localhost 127.0.1.1 client1 * Без GUI # cat /etc/network/interfaces auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp * С GUI * [[Инсталяция системы в конфигурации Desktop]] # apt install network-manager ==== Файлы конфигурации Ubuntu >= 18 ==== * [[https://cloud.croc.ru/blog/byt-v-teme/cloud-init/|Cloud-init: автоматическая установка hostname для виртуальной машины]] * [[https://blog.ubuntu.com/2017/12/01/ubuntu-bionic-netplan|Ubuntu Bionic: Netplan]] * [[https://linuxconfig.org/how-to-change-hostname-on-ubuntu-18-04-bionic-beaver-linux|How to change hostname on Ubuntu 18.04 Bionic Beaver Linux]] * [[https://www.linuxtechi.com/assign-static-ip-address-ubuntu-20-04-lts/|How to Assign Static IP Address on Ubuntu 20.04 LTS]] * [[https://unix.stackexchange.com/questions/588658/override-ubuntu-20-04-dns-using-systemd-resolved|Override Ubuntu 20.04 DNS using systemd-resolved]] === Использование cloud-init === * [[https://cloudinit.readthedocs.io/en/latest/tutorial/qemu.html|Core tutorial with QEMU]] === Отключение cloud-init === # apt purge cloud-init === Отключение ifupdown === apt purge ifupdown === Настройка Netplan === * [[Формат YAML]] * [[https://netplan.io/faq/|Netplan FAQ]] * [[https://netplan.io/examples/|Netplan configuration examples]] !!! Все варианты !!! # netplan status --all # cat /etc/netplan/01-netcfg.yaml network: version: 2 ethernets: enp0s3: addresses: [172.16.1.200+X/24] gateway4: 172.16.1.254 # routes: # - to: default # via: 172.16.1.254 # nameservers: # addresses: [172.16.1.254] # netplan try # netplan apply === Отключение Netpaln === * [[https://linuxconfig.org/how-to-switch-back-networking-to-etc-network-interfaces-on-ubuntu-20-04-focal-fossa-linux|How to switch back networking to /etc/network/interfaces on Ubuntu 20.04 Focal Fossa Linux]] # apt install ifupdown net-tools ubuntu20/22# rm /etc/netplan/00-installer-config.yaml ubuntu24# rm /etc/netplan/50-cloud-init.yaml === Настройка systemd-resolved === * [[https://wiki.archlinux.org/title/Systemd-resolved_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)|archlinux systemd-resolved (Русский)]] # cat /etc/resolv.conf search corpX.un nameserver 127.0.0.53 # resolvectl status или # systemd-resolve --status # cat /etc/systemd/resolved.conf [Resolve] DNS=172.16.1.254 # systemctl restart systemd-resolved === Отключение systemd-resolved === * [[https://gist.github.com/zoilomora/f7d264cefbb589f3f1b1fc2cea2c844c|How to disable systemd-resolved in Ubuntu]] # systemctl disable systemd-resolved # systemctl stop systemd-resolved # rm /etc/resolv.conf # this is link ==== Файлы конфигурации CentOS/SL/RHEL ==== * [[http://serveradmin.ru/nastroyka-seti-v-centos/#_hostname_CentOS_7|Сетевые настройки в CentOS 7]] * [[https://linuxconfig.org/rhel-8-configure-static-ip-address|How to configure a static IP address on RHEL 8 / CentOS 8 Linux]] # cat /etc/hostname server.corpX.un # cat /etc/sysconfig/network-scripts/ifcfg-eth0 # HWADDR=00:0C:29:C0:F8:54 DEVICE=eth0 ONBOOT=yes BOOTPROTO=static IPADDR=172.16.1.100+X NETMASK=255.255.255.0 DNS1=172.16.1.254 DOMAIN=corpX.un GATEWAY=172.16.1.254 # cat /etc/sysconfig/network-scripts/ifcfg-eth0:0 DEVICE=eth0:0 BOOTPROTO=static ONBOOT=yes # HWADDR=00:0C:29:C0:F8:54 IPADDR=10.N.M.100+X NETMASK=255.255.255.0 Для Centos 6 # cat /etc/sysconfig/network # NETWORKING=yes # NETWORKING_IPV6=no # HOSTNAME=centos.corpX.un # GATEWAY=172.16.1.254 === Применение файлов настроек === # hostname centos.corpX.un # ifup enp0s3 ==== Файлы конфигурации Gentoo ==== * [[https://wiki.gentoo.org/wiki/Handbook:X86/Full/Networking/ru|Gentoo Linux x86 Handbook: Настройка сети]] # cat /etc/conf.d/hostname hostname="server.corpX.un" # cd /etc/init.d # ln -s net.lo net.enp0s3 # cat /etc/conf.d/net config_enp0s3="172.16.1.X/24" routes_enp0s3="default via 172.16.1.254" # rc-update add net.enp0s3 default ===== Управление разрешением имен (getaddrinfo) ===== root@nessus.isp.un:~# host ru.archive.ubuntu.com ru.archive.ubuntu.com is an alias for mirror.yandex.ru. mirror.yandex.ru has address 213.180.204.183 mirror.yandex.ru has IPv6 address 2a02:6b8:0:201::1 root@nessus.isp.un:~# cat /etc/gai.conf ... precedence 2a02:6b8::/32 0 ... ===== Настройка bonding ===== * [[https://www.andreyus.com/otkazoustoychivost-dostupa-k-seti-v-linux/|Отказоустойчивость доступа к сети в Linux]] * [[https://netberg.ru/supports/article/ethernet-bonding/|Ethernet bonding — это объединение двух или более физических сетевых интерфейсов в один виртуальный для обеспечения отказоустойчивости и повышения пропускной способности]] ==== bond ifupdown ==== # apt install ifenslave # cat /etc/network/interfaces ... iface eth0 inet manual iface eth1 inet manual auto bond0 iface bond0 inet static address 192.168.X.10 netmask 255.255.255.0 gateway 192.168.X.1 slaves eth0 eth1 bond-mode active-backup bond-miimon 100 bond-primary eth0 ==== bond netplan ==== # cat /etc/netplan/01-netcfg.yaml network: version: 2 bonds: bond0: addresses: [192.168.X.10/24] gateway4: 192.168.X.1 interfaces: [eth0, eth1] parameters: mode: active-backup mii-monitor-interval: 100 primary: eth0 ethernets: eth0: {} eth1: {} ==== Отладка ==== # cat /proc/net/bonding/bond0