• Гость! Рекомендуем популярный, стабильный и недорогой хостинг!

[FAQ] Настройка сети в Linux

Admin

Команда форума
Регистрация
7 Янв 2019
Сообщения
625
Рассмотрим настройку сети в Linux Ubuntu.



Приведу пример команд просмотра информации о сетевых интерфейсах:



Код:
ifconfig

ifconfig -a

ifconfig eth0

ip a

ethtool eth0

ethtool -i eth0

ethtool -k eth0

ethtool -S eth0

ip -s -s link show

lshw -C network

lspci | grep Ethernet

netstat -st

netstat -s counter

Пример включения/отключения сетевых интерфейсов:



Код:
sudo ifconfig eth0 up

sudo ifconfig eth0 down

sudo ifconfig wlan0 up

sudo ifup ens1f0

sudo ifdown ens1f0

Если имя сетевого интерфейса неизвестно, то смотрим его в logical name набрав команду:



Код:
sudo lshw -C network

Чтобы единоразово запросить IP адрес по DHCP выполним команду:



Код:
dhclient

dhclient eth0

dhclient enp0s3

Ручное назначение настроек (сбрасываются после перезагрузки):

Код:
sudo ifconfig eth0 inet 192.168.0.2 netmask 255.255.255.0

sudo ifconfig eth0:0 inet 192.168.3.2 netmask 255.255.255.0

sudo ifconfig eth0:1 inet 192.168.10.1 netmask 255.255.255.0

Удалить все IP с интерфейса eth0 можно так:



Код:
sudo ip addr flush dev eth0

Чтобы настройки не сбрасывались их необходимо прописать в конфигурационный файл:



Код:
sudo nano /etc/network/interfaces

Пример содержания:



Код:
auto lo

iface lo inet loopback





auto eth0

iface eth0 inet static

address 192.168.0.2

netmask 255.255.255.0

network 192.168.0.0

broadcast 192.168.0.255

gateway 192.168.0.1

dns-nameservers 192.168.0.1





auto eth1

iface eth1 inet static

address 10.0.0.2

netmask 255.255.255.0





auto eth2

iface eth2 inet dhcp



В редакторе nano комбинация клавиш Ctrl+O служит для сохранения изменений, Ctrl+X для выхода.



DNS адреса добавляются в конфигурационный файл /etc/resolv.conf, каждый с новой строки, таким образом:



Код:
nameserver 192.168.0.1

nameserver 8.8.8.8

Посмотреть/добавить/удалить маршрут по умолчанию можно так:



Код:
sudo route add default gw 192.168.1.1

sudo route del default gw 192.168.1.1

Удалить сеть:



Код:
sudo route del -net 238.1.0.0/16



Посмотреть таблицу маршрутизации так:



Код:
sudo ip route show

sudo ip route show 172.16.0.0/16

sudo route

sudo route -n

sudo netstat -rn

sudo cat /proc/net/route



Пример добавления маршрутов для сети через шлюз, сетевой интерфейс и маршрут для конкретного адреса через шлюз:



Код:
sudo route add -net 172.16.0.0/16 gw 10.0.0.1

sudo route add -net 172.16.0.0/16 dev eth0

sudo route add -host 192.168.0.1 gw 172.16.0.1

Например с указанным маршрутом можно удалять пакеты:



Код:
sudo ip route add blackhole 10.10.0.0/24



Можно добавить маршруты в отдельную таблицу, например мы добавим маршрут по умолчанию всем, а адресу 192.168.5.12 указали свой маршрут по умолчанию:



Код:
sudo route add default gw 192.168.1.1

sudo ip rule add from 192.168.5.12 lookup 4

sudo ip route add default via 10.0.2.1 table 4

Перезапуск сетевых служб:



Код:
sudo /etc/init.d/networking restart



Либо перезапуск сервера:



Код:
sudo reboot



В случае потерь пакетов при большом трафике или если неправильно работает шейпер, то можно попробовать отключить offload:



Код:
ethtool -K eth0 tso off

ethtool -K eth0 ufo off

ethtool -K eth0 gro off

ethtool -K eth0 gso off

ethtool -K eth0 lro off

Или так:



Код:
ethtool -K ens2f1 tso off gro off gso off lro off tx off rx off rxvlan off txvlan off



Посмотрим какие offload активированы, например generic-segmentation-offload — это сокращено «gso»:



Код:
ethtool --show-offload eth0



Посмотреть правильно ли распределены прерывания сетевой платы по ядрам процессора можно командой:



Код:
grep eth0 /proc/interrupts
 
Activity
So far there's no one here
Автор темы Похожие темы Форум Ответы Дата
Admin Администрирование серверов 0
Назад
Сверху