====== Настройка сети в 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