- Регистрация
- 7 Янв 2019
- Сообщения
- 625
Рассмотрим настройку сети в Linux Ubuntu.
Приведу пример команд просмотра информации о сетевых интерфейсах:
Пример включения/отключения сетевых интерфейсов:
Если имя сетевого интерфейса неизвестно, то смотрим его в logical name набрав команду:
Чтобы единоразово запросить IP адрес по DHCP выполним команду:
Ручное назначение настроек (сбрасываются после перезагрузки):
Удалить все IP с интерфейса eth0 можно так:
Чтобы настройки не сбрасывались их необходимо прописать в конфигурационный файл:
Пример содержания:
В редакторе nano комбинация клавиш Ctrl+O служит для сохранения изменений, Ctrl+X для выхода.
DNS адреса добавляются в конфигурационный файл /etc/resolv.conf, каждый с новой строки, таким образом:
Посмотреть/добавить/удалить маршрут по умолчанию можно так:
Удалить сеть:
Посмотреть таблицу маршрутизации так:
Пример добавления маршрутов для сети через шлюз, сетевой интерфейс и маршрут для конкретного адреса через шлюз:
Например с указанным маршрутом можно удалять пакеты:
Можно добавить маршруты в отдельную таблицу, например мы добавим маршрут по умолчанию всем, а адресу 192.168.5.12 указали свой маршрут по умолчанию:
Перезапуск сетевых служб:
Либо перезапуск сервера:
В случае потерь пакетов при большом трафике или если неправильно работает шейпер, то можно попробовать отключить offload:
Или так:
Посмотрим какие offload активированы, например generic-segmentation-offload — это сокращено «gso»:
Посмотреть правильно ли распределены прерывания сетевой платы по ядрам процессора можно командой:
Приведу пример команд просмотра информации о сетевых интерфейсах:
Код:
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