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