====== Настройка сети в 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|Настройка сети вручную]] * [[https://it-lux.ru/tcp-queue-syn-flooding/|Ошибка в логах ядра. request_sock_TCP: Possible SYN flooding]] ===== Команды для настройки ===== ==== Настройка 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 # отправка UDP пакета # echo -n "hello" >/dev/udp/195.19.40.152/5060 ===== Файлы конфигурации ===== ==== Настройка имен интерфейсов ==== * [[Использование загрузчика 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 auto lo iface lo inet loopback 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