- Настройка сети в Linux
- Введение
- Настройка сети
- Настройка сети с помощью Iproute2
- Как установить статический IP
- Включить / Выключить сетевой интерфейс
- Изменить Gateway
- Изменить netmask
- Прослушиваемые порты
- Netstat
- Настройка сети с помощью ifconfig
- iftop
- Шпаргалка по настройке сети в Linux
- 🇺🇸 Как включить (UP) и отключить (DOWN) порт сетевого интерфейса (NIC) в Linux?
- 1) Как подключить и отключить сетевой интерфейс в Linux с помощью команды ifconfig?
- 2) Как включить и отключить сетевой интерфейс в Linux с помощью команды ifdown / up?
- 3) Как вывести из строя или поднять сетевой интерфейс в Linux с помощью команды ip?
- 4) Как включить и отключить сетевой интерфейс в Linux с помощью команды nmcli?
- 5) Как вывести из строя сетевой интерфейс в Linux с помощью команды nmtui?
Настройка сети в Linux
Введение
Настройка сети это одно из самых частых действий администратора Linux
Про настройку сети в Red Hat, CentOS и других .rpm дистрибутивах читайте здесь
Настройка сети
Изучить файл с перечнем задействованных интерфейсов можно с помощью команды
Далее настройка зависит от версии Linux, которую Вы используете.
На новых версиях Debian . Например, на Debian 9 используется Iproute2
Если Вам нужно настроить сеть на старой версии Debian с помощью утилит ifconfig пролистайте страницу вниз или перейдите по ссылке
Настройка сети с помощью Iproute2
Актуально для Debian 9 и выше.
Чтобы получить список интерфейсов нужно воспользоваться командой
На выходе будет что-то похожее на
1: lo : 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 :
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 :
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
Раньше интерфейсы назывались eth0, eth1 и так далее, сейчас у них более разнообразные названия.
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
Как установить статический 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 не указан.
И перезапустить сеть
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 или маска подсети вы можете узнать в статье «Компьютерные сети»
Узнать свою маску
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 позволяет посмотреть все открытые в системе соединения.
Чтобы изучить именно сетевые соединения воспользуйтесь опцией i
Чтобы отображались именно порты, а не названия сетевых служб примените опцию P
На вопрос как посмотреть список открытых портов также может ответить утилита ss
Если нужно проверить используется ли определённый порт, например 5000
ss -na | grep :5000
Если вывод пуст, значит порт не используется
Чтобы узнать какая программа слушает определённый порт нужно предварительно установить один из инструментов:
netstat, fuser или lsof
Начнём с netstat
Netstat
sudo apt install net-tools
С помощью команды netstat можно посмотреть список активных соединений по сети
Обычно 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 можно с помощью команды
Изучите вывод этой команды и посмотрите какой интерфейс Вам доступен. Обычно это eth0. , если нужно получать ip автоматически
iface eth0 inet dhcp
Если нужно задать статический ip
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0
Чтобы изменения пришли в силу нужно выполнить
ifconfig wlan0 down
ifconfig eth0 up/down
Перезапустить/остановить/запустить сетевые службы
Настроить DNS можно через файл /etc/resolv.conf
При установке нужно было запомнить какие сетевые интерфейсы вам предлагает сконфигурировать Debian.
В старых версиях Dbian это было просто, они назывались eth0, eth1 и так далее.
Поэтому для включения сетевого интерфейса, в приведённой выше команде нужно менять 0 на 1 и т.д.
В новых версиях Debian и в других Unix-подобных дистрибутивах, например OpenBSD сетевые интерфейсы называются более разнообразно (msk0, sk0 и др.)
Для того, чтобы с этим не возникало сложностей — полезно записывать то, что предлагается сконфигурировать при установке дистрибутива.
Включить автоматическое получение ip
Выключить автоматическое получение ip можно вытащив сетевой шнур и вставив обратно. Говорят, что должно сброситься.
и изучить вывод.
iftop
Мониторить объём входящего и исходящего траффика на определённом интерфейсе можно командой
Источник
Шпаргалка по настройке сети в Linux
Что за компьютер без подключения к сети и к Интернету, в частности? Данная шпаргалка поможет настроить сетевые интерфейсы в Линуксе, а для примера будет взят Debian.
И так, в самом начале необходимо удостовериться, что ваша сетевая карта в компьютере обнаружена ОС, для этого выполним команду:
dmesg | grep -i Eth или же lspci | grep Ether – для поиска вводится начало «eth», т.к. сетевой карте (Ethernet) обычно присваивается интерфейс под названием eth0, где 0 – номер устройства. Если сетевых карт в компьютере несколько, то должно быть, соответственно, eth0, eth1, eth2 и т.д. В итоге на консоль должно быть выведено что-то вроде такого:
[ 1.326482] forcedeth: Reverse Engineered nForce ethernet driver. Version 0.64.
[ 1.328138] forcedeth 0000:00:0a.0: PCI INT A -> Link[LMAC] -> GSI 22 (level, low) -> IRQ 22
[ 1.328225] forcedeth 0000:00:0a.0: setting latency timer to 64
[ 1.853889] forcedeth 0000:00:0a.0: ifname eth0, PHY OUI 0x732 @ 1, addr 00:1d:60:47:8f:78
[ 1.853982] forcedeth 0000:00:0a.0: highdma pwrctl mgmt lnktim msi desc-v3
[ 34.458536] forcedeth 0000:00:0a.0: irq 42 for MSI/MSI-X
[ 34.458756] eth0: no link during initialization.
[ 34.459691] ADDRCONF(NETDEV_UP): eth0: link is not ready
Как видно из приведенного примера, в компьютере установлена сетевая карта от nVidia c драйвером 0.64 и с присвоенным интерфейсом под названием eth0, правда, он в данный момент не активен, т.к. отсутствует соединение кабеля к сетевой плате.
Теперь можно ввести в консоль следующую команду для отображения информации о сетевых интерфейсах:
На что она нам покажет:
eth0 Link encap:Ethernet HWaddr 00:1d:60:47:8f:78
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:42 Base address:0xa000
lo Link encap:Локальная петля (Loopback)
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:122 errors:0 dropped:0 overruns:0 frame:0
TX packets:122 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:12867 (12.8 KB) TX bytes:12867 (12.8 KB)
Первый интерфейс – это eth0, с MAC-адресом 00:1d:60:47:8f:78. Т.к. в описании интерфейса отсутствует слово RUNNING, то это означает, что сетевой кабель не подключен. Второй интерфейс, присутствующий в списке – это lo, локальный интерфейс (т.н. называемый Loopback), который имеет фиксированный для всех loopback-интерфейсов IP-адрес 127.0.0.1, маску подсети 255.0.0.0 и статус RUNNING. Из всего приведенного видно, что сетевой интерфейс eth0, который нам нужен для организации сети и выхода в Интернет, не настроен. Сейчас мы этим и займемся.
Нам необходимо отредактировать файл конфигурации /etc/init.d/networking, но в Debian’e его нельзя редактировать до тех пор, пока не остановлены сетевые интерфейсы. Поэтому нужно отключить интерфейс:
Однако, у нас же еще интерфейс eth0 не сконфигурирован, поэтому мы получим сообщение об ошибке: ifdown: interface eth0 not configured. Тогда, для начала, проверяем существование файла /etc/network/interfaces. Если он не существует, то создадим его, а если существует, то отредактируем:
На экран консоли должно вывестись примерно следующее:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
#iface eth0 inet dhcp
Если у вас есть маршрутизатор с включенной функцией DHCP (т.е. происходит автоматическая раздача IP-адресов для подключающихся устройств), то достаточно в конфигурационном файле разкомментировать строку #iface eth0 inet dhcp. В противном случае, необходимо привести файл конфигурации к следующему виду:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8 8.8.4.4
#iface eth0 inet dhcp
Adress – это IP-адрес, который вы присваиваете сетевой карте на интерфейсе eth0, netmask – маска подсети, gateway – шлюз, dns-nameservers – адреса DNS-серверов. Теперь необходимо активировать сетевой интерфейс:
А также перезапустить сетевые службы:
Теперь можно заново запустить команду ifconfig и убедиться, что интерфейс eth0 настроен, т.е. присутствуют указанные нами сетевые настройки. Для проверки работоспособности, можно пропинговать шлюз или интернет-ресурс, если у вас есть выход в Интернет:
ping 192.168.1.1 -с 5
ping yandex.ru -с 5
Должно быть выведено следующее:
PING yandex.ru (213.180.204.211) 56(84) bytes of data.
64 bytes from yandex.ru (213.180.204.211): icmp_req=1 ttl=50 time=15.1 ms
64 bytes from yandex.ru (213.180.204.211): icmp_req=2 ttl=50 time=14.1 ms
64 bytes from yandex.ru (213.180.204.211): icmp_req=3 ttl=50 time=14.3 ms
64 bytes from yandex.ru (213.180.204.211): icmp_req=4 ttl=50 time=13.8 ms
64 bytes from yandex.ru (213.180.204.211): icmp_req=5 ttl=50 time=13.9 ms
— yandex.ru ping statistics —
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 13.804/14.286/15.125/0.479 ms
На этом настройка сети в Линуксе завершена.
Источник
🇺🇸 Как включить (UP) и отключить (DOWN) порт сетевого интерфейса (NIC) в Linux?
Вам может потребоваться выполнить эти команды в соответствии с вашими требованиями.
Я могу привести несколько примеров, где вам это понадобится.
При добавлении нового сетевого интерфейса или при создании нового виртуального сетевого интерфейса из исходного физического интерфейса.
вам может понадобиться отослать эти команды, чтобы вызвать новый интерфейс.
Кроме того, если вы внесли какие-либо изменения или если они не работают, вам нужно выполнить одну из следующих команд, чтобы применить их.
Это можно сделать разными способами, и мы хотели бы добавить лучшие пять методов, которые мы использовали в статье.
Это можно сделать, используя следующие пять методов.
- Команда ifconfig: Команда ifconfig используется для настройки сетевого интерфейса. Он предоставляет много информации о NIC.
- Команда ifdown / up: команда ifdown отключает сетевой интерфейс, а команда ifup запускает сетевой интерфейс.
- Команда ip: команда ip используется для управления NIC. Это замена старой и устаревшей команды ifconfig. Она похожа на команду ifconfig, но имеет много мощных функций, которые недоступны в команде ifconfig.
- Команда nmcli: nmcli – это инструмент командной строки для управления NetworkManager и создания отчетов о состоянии сети.
- Команда nmtui: nmtui – это основанное на curses приложение TUI для взаимодействия с NetworkManager.
Приведенные ниже выходные данные показывают информацию о доступной сетевой карте (NIC) в моей системе Linux.
1) Как подключить и отключить сетевой интерфейс в Linux с помощью команды ifconfig?
Команда ifconfig используется для настройки сетевого интерфейса.
Он используется во время загрузки для настройки интерфейсов по мере необходимости.
Он предоставляет много информации о NIC.
Мы можем использовать команду ifconfig, когда нам нужно внести какие-либо изменения в сетевую карту.
Общий синтаксис для ifconfig:
Выполните следующую команду, чтобы отключить интерфейс enp0s3 в Linux.
Запишите его, вы должны ввести имя вашего интерфейса вместо нашего варианта.
Да действительно, данный интерфейс не работает согласно следующему выводу.
Выполните следующую команду, чтобы включить интерфейс enp0s3 в Linux.
Да, данный интерфейс работает сейчас согласно следующему выводу.
2) Как включить и отключить сетевой интерфейс в Linux с помощью команды ifdown / up?
Команда ifdown отключает сетевой интерфейс, а команда ifup – поднимает сетевой интерфейс.
Примечание. Она не работает с новым интерфейсным именем устройства, таким как enpXXX.
Общий синтаксис для ifdown / ifup:
Выполните следующую команду, чтобы отключить интерфейс eth1 в Linux.
Выполните следующую команду, чтобы включить интерфейс eth1 в Linux.
Да, данный интерфейс работает сейчас согласно следующему выводу.
ifup и ifdown не поддерживают последние имена интерфейсных устройств enpXXX.
При запуске команды я получил следующее сообщение.
3) Как вывести из строя или поднять сетевой интерфейс в Linux с помощью команды ip?
Команда ip используется для управления картой сетевого интерфейса (NIC).
Это замена старой и устаревшей команды ifconfig в современных системах Linux.
Она похожа на команду ifconfig, но имеет много мощных функций, которые недоступны в команде ifconfig.
Общий синтаксис для IP:
Выполните следующую команду, чтобы отключить интерфейс enp0s3 в Linux.
Да, данный интерфейс не работает согласно следующему выводу.
Выполните следующую команду, чтобы включить интерфейс enp0s3 в Linux.
Да, данный интерфейс работает сейчас согласно следующему выводу.
4) Как включить и отключить сетевой интерфейс в Linux с помощью команды nmcli?
nmcli – это инструмент командной строки для управления NetworkManager и создания отчетов о состоянии сети.
Его можно использовать в качестве замены для nm-applet или других графических клиентов. nmcli используется для создания, отображения, редактирования, удаления, активации и деактивации сети.
подключения, а также контролировать и отображать состояние сетевого устройства.
Выполните следующую команду, чтобы определить имя интерфейса, потому что команда nmcli выполняет большую часть задачи, используя имя профиля вместо имени устройства.
Общий синтаксис для IP:
Выполните следующую команду, чтобы отключить интерфейс enp0s3 в Linux.
Вы должны дать имя профиля вместо имени устройства, чтобы отключить его.
Да, данный интерфейс не работает согласно следующему выводу.
Выполните следующую команду, чтобы включить интерфейс enp0s3 в Linux. Вы должны дать имя профиля вместо имени устройства, чтобы включить его.
Да, данный интерфейс работает сейчас согласно следующему выводу.
5) Как вывести из строя сетевой интерфейс в Linux с помощью команды nmtui?
nmtui – приложение TUI на основе curses для взаимодействия с NetworkManager.
При запуске nmtui пользователю предлагается выбрать действие для выполнения, если оно не было указано в качестве первого аргумента.
Запустите следующую команду, чтобы запустить интерфейс nmtui.
Выберите «Подключится» и нажмите «ОК».
Выберите интерфейс, который хотите отключить, затем нажмите кнопку «отключить».
Для активации выполните ту же процедуру, что и выше.
Источник