Основы настройки сети в Linux

Содержание
Введение
Получить список сетевых интерфейсов (ip a)
Установить статический IP
Включить (up) / Выключить (down) сетевой интерфейс
Изменить gateway
Изменить netmask
Прослушиваемые порты
iftop

Введение

Настройка сети это одно из самых частых действий администратора Linux

Это статья общего характера. Смотрите также статьи

Настройка сети

Изучить файл с перечнем задействованных интерфейсов можно с помощью команды

vi /etc/network/interfaces

Далее настройка зависит от версии Linux, которую Вы используете.

На новых версиях Debian . Например, на Debian 9 используется Iproute2

Если Вам нужно настроить сеть на старой версии Debian с помощью утилит ifconfig пролистайте страницу вниз или перейдите по ссылке

Настройка сети с помощью Iproute2

Актуально для Debian 9 и выше.

Чтобы получить список интерфейсов нужно воспользоваться командой

ip a

На выходе будет что-то похожее на

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 30:f9:ed:d9:ea:d3 brd ff:ff:ff:ff:ff:ff inet 192.0.2.131/24 brd 192.0.2.255 scope global enp3s0 valid_lft forever preferred_lft forever inet6 fe80::32f9:edff:fed9:ead3/64 scope link valid_lft forever preferred_lft forever 3: wlp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether b8:76:3f:f5:c4:1f brd ff:ff:ff:ff:ff:ff inet 192.168.43.4/24 brd 192.168.43.255 scope global dynamic noprefixroute wlp1s0 valid_lft 2800sec preferred_lft 2800sec inet6 fe80::ba76:3fff:fef5:c41f/64 scope link noprefixroute valid_lft forever preferred_lft forever

1: Первый интерфейс это lo он направлен на локальную машину и имеет IP 127.0.0.1/8



2: Второй интерфейс enp3s0 это моё поключение к по Ethernet к другому ПК.

В этом примере компьютер с Debian (1) соединён с компьютером с Windows (2) напрямую через Ethernet кабель

Через это подключение я захожу на комп номер 1 по SSH.

IP компьютера с Debian вы видите выше 192.0.2.131/24 , а у компа с Windows IP 192.0.2.130/24 его здесь, естественно не видно.

Как настроить этот IP читайте дальше



3: Третий интефейс wlp1s0 это подключение к местному Wi-Fi от мобильного телефона. IP получен динамически 192.168.43.4/24

Раньше интерфейсы назывались eth0 , eth1 и так далее, сейчас у них более разнообразные названия.

enp0s31f6: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 ether 54:05:db:cd:b2:af txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 device interrupt 16 memory 0xef380000-ef3a0000 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 2465 bytes 795656 (795.6 KB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 2465 bytes 795656 (795.6 KB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 vboxnet0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.56.1 netmask 255.255.255.0 broadcast 192.168.56.255 inet6 fe80::800:27ff:fe00:0 prefixlen 64 scopeid 0x20<link> ether 0a:00:27:00:00:00 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 678 bytes 51442 (51.4 KB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 wlp0s20f3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.1.70.158 netmask 255.255.240.0 broadcast 10.1.79.255 inet6 fe80::9708:9f80:20b5:4777 prefixlen 64 scopeid 0x20<link> ether 8c:8d:28:c5:a2:2e txqueuelen 1000 (Ethernet) RX packets 1103516 bytes 1061399166 (1.0 GB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 320242 bytes 110222925 (110.2 MB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

Как установить статический IP

Чтобы подлкючиться к другому компьютеру через Ethernet нужно в Windows выставить параметры адаптера через контольную панель. То же самое нужно было сделать и в Linux.

Для этого нужно выполнить команду

sudo vi /etc/network/interfaces

И добавить туда

auto enp3s0 iface enp3s0 inet static address 192.0.2.131 netmask 255.255.255.0 dns-nameservers 8.8.8.8,8.8.4.4 auto wlp1s0 iface wlp1s0 inet dhcp

Обратите внимание, что gateway не указан.

И перезапустить сеть

/etc/init.d/networking restart

или

sudo service networking restart

Второй вариант проще запомнить, но, чтобы он заработал нужно наличие service

Теперь если у Вас установлен SSH можно зайти на компьютер с Linux по ssh с помощью Putty или MobaXterm

Если нужно установить SSH выполните

sudo apt install openssh-server

sudo apt-get install openssh-client

Включить / Выключить сетевой интерфейс

ВКЛЮЧИТЬ интерфейс enp0s25:

ip link set dev enp0s25 up

ВЫКЛЮЧИТЬ интерфейс enp0s25:

ip link set dev enp0s25 down

Изменить Gateway

Удаление старого gateway

route delete default

Добавление нового gateway

route add default gw IP_Address

Если старых gateway много, то нужно указать какой конкретно IP с какого интерфейса удалить

route delete default gw 10.0.0.1 eth0

Для создания тоже можно указать конкретные данные

route add default gw 192.168.0.1 eth0

Изменить netmask

Что такое netmask или маска подсети вы можете узнать в статье «Компьютерные сети»

Узнать свою маску

ip r

default via 10.6.0.1 dev eth0
10.6.0.0/8 dev eth0 src 10.6.1.68

Удалить старую

ip address del 10.6.1.100/8 dev eth0

Добавить новую

ip address add 10.6.1.68/22 dev eth0

Прослушиваемые порты

lsof

Утилита lsof позволяет посмотреть все открытые в системе соединения.

Чтобы изучить именно сетевые соединения воспользуйтесь опцией i

Чтобы отображались именно порты, а не названия сетевых служб примените опцию P

lsof -i -P

ss

На вопрос как посмотреть список открытых портов также может ответить утилита ss

ss -lntup

Если нужно проверить используется ли определённый порт, например 5000

ss -na | grep :5000

Если вывод пуст, значит порт не используется

Чтобы узнать какая программа слушает определённый порт нужно предварительно установить один из инструментов:

netstat, fuser или lsof

Начнём с netstat

Netstat

sudo apt install net-tools

С помощью команды netstat можно посмотреть список активных соединений по сети

netstat

Обычно netstat используют с набором опций tulpn который и позволяет понять какая программа слушает какой порт.

netstat -tulpn

(Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN - tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN - tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN - tcp 0 0 127.0.0.1:6011 0.0.0.0:* LISTEN - tcp6 0 0 :::22 :::* LISTEN - tcp6 0 0 ::1:631 :::* LISTEN - tcp6 0 0 ::1:6010 :::* LISTEN - tcp6 0 0 ::1:6011 :::* LISTEN - tcp6 0 0 :::80 :::* LISTEN - udp 0 0 0.0.0.0:52756 0.0.0.0:* - udp 0 0 0.0.0.0:68 0.0.0.0:* - udp 0 0 0.0.0.0:631 0.0.0.0:* - udp 0 0 0.0.0.0:5353 0.0.0.0:* - udp6 0 0 :::45815 :::* - udp6 0 0 :::5353 :::* -

Настройка сети с помощью ifconfig

Получить информацию об имеющихся интерфейсах на старых версиях Debian можно с помощью команды

ifconfig

Изучите вывод этой команды и посмотрите какой интерфейс Вам доступен. Обычно это eth0. , если нужно получать ip автоматически

iface eth0 inet dhcp

Если нужно задать статический ip

iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0

Чтобы изменения пришли в силу нужно выполнить

ifup eth0

Выключить wi-fi

ifconfig wlan0 down

Включить/выключить ceть

ifconfig eth0 up/down

Перезапустить/остановить/запустить сетевые службы

/etc/init.d/networking restart/stop/start

Настроить DNS можно через файл /etc/resolv.conf

nameserver 8.8.8.8

При установке нужно было запомнить какие сетевые интерфейсы вам предлагает сконфигурировать Debian.

В старых версиях Dbian это было просто, они назывались eth0, eth1 и так далее.

Поэтому для включения сетевого интерфейса, в приведённой выше команде нужно менять 0 на 1 и т.д.

В новых версиях Debian и в других Unix-подобных дистрибутивах, например OpenBSD сетевые интерфейсы называются более разнообразно (msk0, sk0 и др.)

Для того, чтобы с этим не возникало сложностей - полезно записывать то, что предлагается сконфигурировать при установке дистрибутива.

Включить автоматическое получение ip

dhclient eth0

Выключить автоматическое получение ip можно вытащив сетевой шнур и вставив обратно. Говорят, что должно сброситься.

Советую выполнить

man interfaces

и изучить вывод.

iftop

Мониторить объём входящего и исходящего траффика на определённом интерфейсе можно командой

iftop -i eth0

Похожие статьи
Сеть
Настройка сети в Debian
Настройка сети в Ubuntu
Настройка сети в CentOS
Настройка сети в Rocky
Linux
ifconfig
firewall
iptables
etc/hosts
eth0
ip
SSH
SCP
Компьютерные сети
Контакты и сотрудничество:
Рекомендую наш хостинг beget.ru
Пишите на info@eth1.ru если Вы:
1. Хотите написать статью для нашего сайта или перевести статью на свой родной язык.
2. Хотите разместить на сайте рекламу, подходящуюю по тематике.
3. Хотите поддержать сайт материально
4. Нашли на сайте ошибку, неточности, баг и т.д. ... .......