nmcli connection show
nmcli connection show "Wired connection 1" | grep ipv4.method
nmcli connection modify "Wired connection 1" ipv4.method manual ipv4.addresses "46.4.60.38/26" ipv4.gateway "46.4.60.1" ipv4.dns "185.12.64.1,185.12.64.2"
nmcli connection up "Wired connection 1"
#!/bin/bash sleep 180 nmcli connection modify "Wired connection 1" ipv4.method auto nmcli connection up "Wired connection 1"
chmod +x /tmp/rollback.sh Чтобы процесс не умер при разрыве сессии SSH - делаем nohup nohup /tmp/rollback.sh &
nmcli connection down eno1
nmcli connection up eno1
nmcli connection modify eno1 ipv4.addresses 10.0.0.3/24
nmcli connection modify eno1 ipv4.gateway 10.0.0.1
nmcli connection modify eno1 ipv4.dns 10.0.0.1
nmcli connection modify eno1 ipv4.dns-search srv.world
nmc
Графическая утилита
Отключаем IPv6
grubby --update-kernel ALL --args ipv6.disable=1
Ubuntu
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
Просмотр всех сетевых интерфейсов (аналог ifconfig, по-умолчанию в linux, ifconfig нужно устанавливать)
ip a
ip add
ip link addr
Скорость интерфейса
Выключить сетевой интерфейс
ip link set dev ens33 down
Включить сетевой интерфейс
ip link set dev ens33 up
Добавить на сетевой интерфейс IP-адрес (именно добавить, если не было будет единственный, если уже был IP-адрес, добавится еще один)
ip addr add 192.168.1.3/24 dev ens33
Удалить сетевой адрес с сетевого интерфейса
ip addr delete 192.168.1.5/24 dev ens33
Работает тоже, если установлен пакет net-tools
ifconfig
Добавляем IP-адрес
ifconfig ens33 192.168.1.5 netmask 255.255.255.0
Как еще можно в Ubuntu Linux изменить сетевые настройки. Работает без перезагрузки и постоянно уже
Ссылка с примерами
Редактируя, учесть все пробелы перед каждой строкой (не менять их), иначе ошибка
Хорошо поставить для проверки синтаксиса yamllint
apt install yamllint -y
Чтобы проверить синтаксис, просто
yamllint /etc/netplan/00-installer-config.yaml
Облачный сервер Hetzner
Может формировать из cloud-init весь netplan и всю сетку
nano /etc/cloud/cloud.cfg.d/90-hetznercloud.cfg
Можно отключить
nano /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
network:
Добавить дополнительный (float) IP адрес на существующий интерфейс на Hetzner
nano /etc/sysconfig/network-scripts/ifcfg-eth0:1
BOOTPROTO=static
DEVICE=eth0:1
IPADDR=2.2.2.23
PREFIX=32
TYPE=Ethernet
USERCTL=no
ONBOOT=yes
CentOS настройки сети здесь:
/etc/sysconfig/network-scripts/ifcfg-eth0
Устаревший вариант представления (будет давать warning)
nano /etc/netplan/00-installer-config.yaml
network:
version: 2
renderer: networkd
ethernets:
enp0s3:
dhcp4: no
addresses: [192.168.1.233/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8,8.8.4.4]
Новый
nano /etc/netplan/00-installer-config.yaml
network:
version: 2
renderer: networkd
ethernets:
enp2s0:
dhcp4: false
addresses:
- 192.168.0.101/24
routes:
- to: default
via: 192.168.0.1
nameservers:
addresses: [1.1.1.1, 8.8.8.8]
netplan apply
Дебаг запуска, чтобы отследить ошибки
netplan --debug apply
CentOS 9
В очередной раз все поменяли
[connection]
id=eno1
uuid=90729a27-de4e-4e9f-abf3-0d8ab78ef1ec
type=ethernet
interface-name=eno1
[ethernet]
[ipv4]
address1=10.10.10.3/24,10.10.10.1
dns=10.10.10.1;8.8.8.8;1.1.1.1;
method=manual
[ipv6]
addr-gen-mode=default
method=ignore
[proxy]
Ошибки
Feb 21 09:20:16 localhost.localdomain NetworkManager[755]: [1740122416.2770] device (ens18): Activation: failed for connection 'ens18'
Feb 21 09:20:16 localhost.localdomain NetworkManager[755]: [1740122416.2770] device (ens18): state change: failed -> disconnected (reason 'none', sys-iface-state: 'managed')
Feb 21 09:20:16 localhost.localdomain NetworkManager[755]: [1740122416.2843] dhcp4 (ens18): canceled DHCP transaction
Feb 21 09:20:16 localhost.localdomain NetworkManager[755]: [1740122416.2843] dhcp4 (ens18): activation: beginning transaction (timeout in 45 seconds)
Feb 21 09:20:16 localhost.localdomain NetworkManager[755]: [1740122416.2843] dhcp4 (ens18): state changed no lease
Feb 21 09:20:16 localhost.localdomain NetworkManager[755]: [1740122416.2936] policy: auto-activating connection 'ens18' (ee416626-2df7-3f12-81ac-64e38ff37f66)
Feb 21 09:20:16 localhost.localdomain NetworkManager[755]: [1740122416.2937] device (ens18): Activation: starting connection 'ens18' (ee416626-2df7-3f12-81ac-64e38ff37f66)
Feb 21 09:20:16 localhost.localdomain NetworkManager[755]: [1740122416.2938] device (ens18): state change: disconnected -> prepare (reason 'none', sys-iface-state: 'managed')
Feb 21 09:20:16 localhost.localdomain NetworkManager[755]: [1740122416.2939] manager: NetworkManager state is now CONNECTING
Feb 21 09:20:16 localhost.localdomain NetworkManager[755]: [1740122416.2939] device (ens18): state change: prepare -> config (reason 'none', sys-iface-state: 'managed')
Feb 21 09:20:16 localhost.localdomain NetworkManager[755]: [1740122416.2985] device (ens18): state change: config -> ip-config (reason 'none', sys-iface-state: 'managed')
Feb 21 09:20:16 localhost.localdomain NetworkManager[755]: [1740122416.2987] dhcp4 (ens18): activation: beginning transaction (timeout in 45 seconds)
Feb 21 09:20:16 localhost.localdomain NetworkManager[755]: [1740122416.2988] policy: set 'ens18' (ens18) as default for IPv4 routing and DNS
Feb 21 09:21:01 localhost.localdomain NetworkManager[755]: [1740122461.2679] device (ens18): state change: ip-config -> failed (reason 'ip-config-unavailable', sys-iface-state: 'managed')
Feb 21 09:21:01 localhost.localdomain NetworkManager[755]: [1740122461.2681] manager: NetworkManager state is now DISCONNECTED
Интерфейс падает и поднимается снова. Причем можно заметить, что это происходит примерно через равные промежутки времени
Причина DHCP. Он пытается получить адрес, не получает, ошибка и опять активирует наши настройки IP-адреса, потом по новой.
Обратить внимание на параметр
method=manual
а не
method=auto
/etc/network/interfaces (используется, например, Proxmox) Описание основного синтаксиса
auto interface – Запустите интерфейс (интерфейсы) при загрузке. Поэтому и lo интерфейс использует такую конфигурацию ссылок.
allow-auto interface – То же, что и auto
allow-hotplug interface – Запустите интерфейс при обнаружении события "горячей вилки". В реальном мире это используется в тех же ситуациях, что и auto но разница в том, что он будет ждать такого события, как "быть обнаруженным upev hotplug api" или "связанным по кабелю". См ""Связанные вещи (горячая вилка)"для дополнительной информации".
Эти параметры в значительной степени являются опциями "уровня 2", настройкой состояний ссылок на интерфейсах и не связаны с "уровнем 3" (маршрутизация и адресация). В качестве примера можно привести агрегацию каналов, при которой интерфейс bond0 должен быть выше, независимо от состояния канала, а его члены могут быть подняты после события состояния канала:
auto bond0
iface bond0 inet manual
down ip link set $IFACE down
post-down rmmod bonding
pre-up modprobe bonding mode=4 miimon=200
up ip link set $IFACE up mtu 9000
up udevadm trigger
allow-hotplug eth0
iface eth0 inet manual
up ifenslave bond0 $IFACE
down ifenslave -d bond0 $IFACE 2> /dev/null
allow-hotplug eth1
iface eth1 inet manual
up ifenslave bond0 $IFACE
down ifenslave -d bond0 $IFACE 2> /dev/null
Итак, таким образом я создаю a агрегация ссылок и интерфейсы будут добавлены к нему и удалены в состояниях кабельной связи.
Наиболее распространенные типы интерфейсов:
Все параметры ниже являются суффиксом определенного интерфейса (iface <Interface_family>). В основном iface eth0 создает а строфа называется eth0 на устройстве Ethernet. iface ppp0 должен создать точка-точка интерфейс, и у него могут быть разные способы получения таких адресов inet wvdial это пересылает конфигурацию этого интерфейса на wvdialconf сценарий. Кортеж inet/inet6 + option определит версию IP-протокол это будет использоваться и способ настройки этого адреса (static, dhcp, scripts. ...).The онлайн-руководства Debian расскажет подробнее об этом.
Параметры интерфейсов Ethernet:
inet static – Определяет статический IP-адрес.
inet manual – Не определяет IP-адрес интерфейса. Обычно используется интерфейсами, которые являются элементами моста или агрегации, интерфейсами, которые должны работать в беспорядочном режиме (например, зеркалирование портов или сетевые TAP) или иметь на них устройство VLAN. Это способ поддерживать интерфейс без IP-адреса.
inet dhcp – Приобретите IP-адрес через протокол DHCP.
inet6 static – Определяет статический адрес IPv6.
Пример:
auto eth0
iface eth0 inet manual
pre-up modprobe 8021q
pre-up ifconfig eth0 up
post-down ifconfig eth0 down
auto vlan10
iface vlan10 inet static
address 10.0.0.1
netmask 255.255.255.0
gateway 10.0.0.254
vlan-raw-device eth0
ip_rp_filter 0
Этот пример принесет eth0 вверх и создать Интерфейс VLAN называется vlan10 это будет обрабатывать тег номер 10 в кадре Ethernet.
Общие параметры внутри строфы интерфейса (уровни 2 и 3):
address – IP-адрес для статического IP-интерфейса
netmask – Сетевая маска. Можно опустить, если вы используете адрес cidr. Пример:
iface eth1 inet static
address 192.168.1.2/24
gateway 192.168.1.1
gateway – Шлюз сервера по умолчанию. Будьте осторожны, чтобы использовать только одного из этого парня.
vlan-raw-device – На интерфейсе VLAN определяет своего "отца".
bridge_ports – На мостовом интерфейсе определите его участников.
down – Используйте следующую команду для понижения интерфейса вместо ifdown.
post-down – Действия, предпринятые сразу после закрытия интерфейса.
pre-up – Действия перед запуском интерфейса.
up – Используйте следующую команду для повышения интерфейса вместо ifup. . Ваше воображение зависит от использования любой доступной опции iputils. . В качестве примера мы могли бы использовать up ip link set $IFACE up mtu 9000 чтобы включить джамбо-кадры во время up операция(вместо использования mtu сам вариант). Вы также можете позвонить в любое другое программное обеспечение, например up sleep 5; mii-tool -F 100baseTx-FD $IFACE чтобы форсировать 100 Мбит/с Полный дуплекс через 5 секунд после запуска интерфейса.
hwaddress ether 00:00:00:00:00:00 - Измените mac-адрес интерфейса вместо того, чтобы использовать тот, который жестко закодирован в rom или сгенерирован алгоритмами. Можно использовать ключевое слово random чтобы получить рандомизированный адрес mac.
dns-nameservers – IP-адреса серверов имен. Требует resolvconf пакет. Это способ сконцентрировать всю информацию /etc/network/interfaces вместо использования /etc/resolv.conf для конфигураций, связанных с DNS. Не редактируйте resolv.conf файл конфигурации вручную, поскольку он будет динамически изменяться программами в системе.
dns-search example.net – Добавить example.net в качестве домена к запросам хоста, создав FQDN. Опция domain оф /etc/resolv.conf
wpa-ssid – Wireless: установите беспроводной SSID WPA.
mtu - МТУ размер. mtu 9000 = Джамбо Фрейм. Полезно, если ваша коробка Linux подключена к коммутаторам, поддерживающим большие размеры MTU. Может нарушать некоторые протоколы (у меня был плохой опыт работы с snmp и джамбо-кадрами).
wpa-psk – Wireless: установите PSK с шестнадцатеричным кодированием для вашего SSID.
ip_rp_filter 1 - Фильтр обратного пути включен. Полезно в ситуациях, когда у вас есть 2 маршрута к хосту, и это заставит пакет вернуться оттуда, откуда он пришел (тот же интерфейс, используя его маршруты). Пример: Вы подключены к своей сети (192.168.1.1/24) и у вас есть сервер dlna с одним интерфейсом в вашей локальной сети (192.168.1.10/24) и другой интерфейс на dmz для выполнения административных задач (172.16.1.1/24). Во время сеанса ssh с вашего компьютера на dlna dmz ip информация должна вернуться к вам, но будет висеть вечно, потому что ваш сервер dlna попытается доставить ответ непосредственно через свой локальный интерфейс. С включенным rp_filter это гарантирует, что соединение вернется оттуда, откуда оно пришло. Больше информации здесь.
Некоторые из этих вариантов не являются необязательными. Debian предупредит вас, например, если вы поместите IP-адрес на интерфейс без сетевой маски.
Вы можете найти больше хороших примеров конфигурации сети здесь.
Связанные вещи:
Ссылки, по которым имеется информация, связанная с /etc/network/interfaces файл конфигурации сети:
Настройка WiFi
network:
version: 2
wifis:
wlp2s0:
access-points:
WT_DTS_Z1:
password: WT123456SY
WT_SYZ_Z1:
password: WT123456SY
dhcp4: true
Тот WiFi, который идет первым будет запускаться первым. Это не приоритет работы, а приоритет запуска. Т.е. можно просто перезагрузить и если WiFi первый работает, то он к нему и подключится.