Как изменить шлюз ubuntu

Как добавить или сменить шлюз по умолчанию в Linux. Основной шлюз (шлюз по умолчанию) — это IP-адрес вашего маршрутизатора. Обычно он автоматически определяется операционной системой во время установки, но, возможно, вам нужно изменить...


Загрузить PDF


Загрузить PDF

Основной шлюз (шлюз по умолчанию) — это IP-адрес вашего маршрутизатора. Обычно он автоматически определяется операционной системой во время установки, но, возможно, вам нужно изменить его. Это особенно актуально, если в сети есть несколько сетевых адаптеров или маршрутизаторов.

  1. Изображение с названием Add or Change the Default Gateway in Linux Step 1

    1

    Запустите терминал. Щелкните по нему на боковой панели или нажмите Ctrl+Alt+T.

  2. Изображение с названием Add or Change the Default Gateway in Linux Step 2

    2

    Найдите адрес активного основного шлюза. Для этого введите route и нажмите Enter. В строке «default» (по умолчанию) отобразится адрес основного шлюза, а назначенный ему интерфейс можно найти в правой части таблицы.

  3. Изображение с названием Add or Change the Default Gateway in Linux Step 3

    3

    Удалите активный основной шлюз. Если установлено несколько основных шлюзов, они могут конфликтовать. Удалите активные основной шлюз, если собираетесь менять его.

    • Введите sudo route delete default gw IP-адрес Адаптер. Например, чтобы удалить основной шлюз 10.0.2.2 адаптера eth0, введите sudo route delete default gw 10.0.2.2 eth0.
  4. Изображение с названием Add or Change the Default Gateway in Linux Step 4

    4

    Введите sudo route add default gw IP-адрес Адаптер. Например, чтобы изменить основной шлюз адаптера eth0 на 192.168.1.254, введите sudo route add default gw 192.168.1.254 eth0. Вам будет предложено ввести пароль пользователя, чтобы выполнить команду.

    Реклама

  1. Изображение с названием Add or Change the Default Gateway in Linux Step 5

    1

    Откройте файл конфигурации в редакторе. Введите sudo nano /etc/network/interfaces, чтобы открыть файл в редакторе nano. Внесенные изменения будут храниться до следующей перезагрузки системы.

  2. Изображение с названием Add or Change the Default Gateway in Linux Step 6

    2

    Перейдите в нужный раздел. Найдите раздел адаптера, основной шлюз которого вы хотите изменить. Адаптер проводного подключения называется eth0.

  3. Изображение с названием Add or Change the Default Gateway in Linux Step 7

    3

    В раздел добавьте строку gateway IP-адрес. Например, введите gateway 192.168.1.254, чтобы присвоить основному шлюзу адрес 192.168.1.254.

  4. Изображение с названием Add or Change the Default Gateway in Linux Step 8

    4

    Сохраните внесенные изменения. Нажмите Ctrl+X, а затем нажмите Y, чтобы сохранить изменения и выйти из текстового редактора.

  5. Изображение с названием Add or Change the Default Gateway in Linux Step 9

    5

    Перезагрузите сеть. Для этого введите sudo /tc/init.d/networking restart.[1]

    Реклама

Об этой статье

Эту страницу просматривали 60 819 раз.

Была ли эта статья полезной?

Ubuntu ships with a number of graphical utilities to configure your network devices. This document is geared toward server administrators and will focus on managing your network on the command line.

Ethernet interfaces

Ethernet interfaces are identified by the system using predictable network interface names. These names can appear as eno1 or enp0s25. However, in some cases an interface may still use the kernel eth# style of naming.

Identify Ethernet interfaces

To quickly identify all available Ethernet interfaces, you can use the ip command as shown below.

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: enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:16:3e:e2:52:42 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 10.102.66.200/24 brd 10.102.66.255 scope global dynamic eth0
       valid_lft 3257sec preferred_lft 3257sec
    inet6 fe80::216:3eff:fee2:5242/64 scope link
       valid_lft forever preferred_lft forever

Another application that can help identify all network interfaces available to your system is the lshw command. This command provides greater details around the hardware capabilities of specific adapters. In the example below, lshw shows a single Ethernet interface with the logical name of eth4 along with bus information, driver details and all supported capabilities.

sudo lshw -class network
  *-network
       description: Ethernet interface
       product: MT26448 [ConnectX EN 10GigE, PCIe 2.0 5GT/s]
       vendor: Mellanox Technologies
       physical id: 0
       bus info: pci@0004:01:00.0
       logical name: eth4
       version: b0
       serial: e4:1d:2d:67:83:56
       slot: U78CB.001.WZS09KB-P1-C6-T1
       size: 10Gbit/s
       capacity: 10Gbit/s
       width: 64 bits
       clock: 33MHz
       capabilities: pm vpd msix pciexpress bus_master cap_list ethernet physical fibre 10000bt-fd
       configuration: autonegotiation=off broadcast=yes driver=mlx4_en driverversion=4.0-0 duplex=full firmware=2.9.1326 ip=192.168.1.1 latency=0 link=yes multicast=yes port=fibre speed=10Gbit/s
       resources: iomemory:24000-23fff irq:481 memory:3fe200000000-3fe2000fffff memory:240000000000-240007ffffff

Ethernet Interface logical names

Interface logical names can also be configured via a Netplan configuration. If you would like control which interface receives a particular logical name use the match and set-name keys. The match key is used to find an adapter based on some criteria like MAC address, driver, etc. The set-name key can be used to change the device to the desired logical name.

network:
  version: 2
  renderer: networkd
  ethernets:
    eth_lan0:
      dhcp4: true
      match:
        macaddress: 00:11:22:33:44:55
      set-name: eth_lan0

Ethernet Interface settings

ethtool is a program that displays and changes Ethernet card settings such as auto-negotiation, port speed, duplex mode, and Wake-on-LAN. The following is an example of how to view the supported features and configured settings of an Ethernet interface.

sudo ethtool eth4
Settings for eth4:
    Supported ports: [ FIBRE ]
    Supported link modes:   10000baseT/Full
    Supported pause frame use: No
    Supports auto-negotiation: No
    Supported FEC modes: Not reported
    Advertised link modes:  10000baseT/Full
    Advertised pause frame use: No
    Advertised auto-negotiation: No
    Advertised FEC modes: Not reported
    Speed: 10000Mb/s
    Duplex: Full
    Port: FIBRE
    PHYAD: 0
    Transceiver: internal
    Auto-negotiation: off
    Supports Wake-on: d
    Wake-on: d
    Current message level: 0x00000014 (20)
                   link ifdown
    Link detected: yes

IP addressing

The following section describes the process of configuring your system’s IP address and default gateway needed for communicating on a local area network and the Internet.

Temporary IP address assignment

For temporary network configurations, you can use the ip command which is also found on most other GNU/Linux operating systems. The ip command allows you to configure settings which take effect immediately – however they are not persistent and will be lost after a reboot.

To temporarily configure an IP address, you can use the ip command in the following manner. Modify the IP address and subnet mask to match your network requirements.

sudo ip addr add 10.102.66.200/24 dev enp0s25

The ip can then be used to set the link up or down.

ip link set dev enp0s25 up
ip link set dev enp0s25 down

To verify the IP address configuration of enp0s25, you can use the ip command in the following manner:

ip address show dev enp0s25
10: enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:16:3e:e2:52:42 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 10.102.66.200/24 brd 10.102.66.255 scope global dynamic eth0
       valid_lft 2857sec preferred_lft 2857sec
    inet6 fe80::216:3eff:fee2:5242/64 scope link
       valid_lft forever preferred_lft forever6

To configure a default gateway, you can use the ip command in the following manner. Modify the default gateway address to match your network requirements.

sudo ip route add default via 10.102.66.1

You can also use the ip command to verify your default gateway configuration, as follows:

ip route show
default via 10.102.66.1 dev eth0 proto dhcp src 10.102.66.200 metric 100
10.102.66.0/24 dev eth0 proto kernel scope link src 10.102.66.200
10.102.66.1 dev eth0 proto dhcp scope link src 10.102.66.200 metric 100 

If you require DNS for your temporary network configuration, you can add DNS server IP addresses in the file /etc/resolv.conf. In general, editing /etc/resolv.conf directly is not recommended, but this is a temporary and non-persistent configuration. The example below shows how to enter two DNS servers to /etc/resolv.conf, which should be changed to servers appropriate for your network. A more lengthy description of the proper (persistent) way to do DNS client configuration is in a following section.

nameserver 8.8.8.8
nameserver 8.8.4.4

If you no longer need this configuration and wish to purge all IP configuration from an interface, you can use the ip command with the flush option:

ip addr flush eth0

Note
Flushing the IP configuration using the ip command does not clear the contents of /etc/resolv.conf. You must remove or modify those entries manually (or re-boot), which should also cause /etc/resolv.conf, which is a symlink to /run/systemd/resolve/stub-resolv.conf, to be re-written.

Dynamic IP address assignment (DHCP client)

To configure your server to use DHCP for dynamic address assignment, create a Netplan configuration in the file /etc/netplan/99_config.yaml. The following example assumes you are configuring your first Ethernet interface identified as enp3s0.

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: true

The configuration can then be applied using the netplan command:

sudo netplan apply

Static IP address assignment

To configure your system to use static address assignment, create a netplan configuration in the file /etc/netplan/99_config.yaml. The example below assumes you are configuring your first Ethernet interface identified as eth0. Change the addresses, routes, and nameservers values to meet the requirements of your network.

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      addresses:
        - 10.10.10.2/24
      routes:
        - to: default
          via: 10.10.10.1
      nameservers:
          search: [mydomain, otherdomain]
          addresses: [10.10.10.1, 1.1.1.1]

The configuration can then be applied using the netplan command.

sudo netplan apply

NOTE
netplan in Ubuntu Bionic 18.04 LTS doesn’t understand the “to: default” syntax to specify a default route, and should use the older gateway4: 10.10.10.1 key instead of the whole routes: block.

The loopback interface is identified by the system as lo and has a default IP address of 127.0.0.1. It can be viewed using the ip command.

ip address show lo
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

Name resolution

Name resolution (as it relates to IP networking) is the process of mapping hostnames to IP addresses, and vice-versa, making it easier to identify resources on a network. The following section will explain how to properly configure your system for name resolution using DNS and static hostname records.

DNS client configuration

Traditionally, the file /etc/resolv.conf was a static configuration file that rarely needed to be changed, or it automatically changed via DCHP client hooks. systemd-resolved handles nameserver configuration, and it should be interacted with through the systemd-resolve command. Netplan configures systemd-resolved to generate a list of nameservers and domains to put in /etc/resolv.conf, which is a symlink:

/etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf

To configure the resolver, add the IP addresses of the appropriate nameservers for your network to the netplan configuration file. You can also add optional DNS suffix search-lists to match your network domain names. The resulting file might look like the following:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s25:
      addresses:
        - 192.168.0.100/24
      routes:
        - to: default
          via: 192.168.0.1
      nameservers:
          search: [mydomain, otherdomain]
          addresses: [1.1.1.1, 8.8.8.8, 4.4.4.4]

The search option can also be used with multiple domain names so that DNS queries will be appended in the order in which they are entered. For example, your network may have multiple sub-domains to search; a parent domain of example.com, and two sub-domains, sales.example.com and dev.example.com.

If you have multiple domains you wish to search, your configuration might look like the following:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s25:
      addresses:
        - 192.168.0.100/24
      routes:
        - to: default
          via: 192.168.0.1
      nameservers:
          search: [example.com, sales.example.com, dev.example.com]
          addresses: [1.1.1.1, 8.8.8.8, 4.4.4.4]

If you try to ping a host with the name server1, your system will automatically query DNS for its Fully Qualified Domain Name (FQDN) in the following order:

  1. server1.example.com

  2. server1.sales.example.com

  3. server1.dev.example.com

If no matches are found, the DNS server will provide a result of notfound and the DNS query will fail.

Static hostnames

Static hostnames are locally defined hostname-to-IP mappings located in the file /etc/hosts. Entries in the hosts file will have precedence over DNS by default. This means that if your system tries to resolve a hostname and it matches an entry in /etc/hosts, it will not attempt to look up the record in DNS. In some configurations, especially when Internet access is not required, servers that communicate with a limited number of resources can be conveniently set to use static hostnames instead of DNS.

The following is an example of a hosts file where a number of local servers have been identified by simple hostnames, aliases and their equivalent Fully Qualified Domain Names (FQDN’s):

127.0.0.1   localhost
127.0.1.1   ubuntu-server
10.0.0.11   server1 server1.example.com vpn
10.0.0.12   server2 server2.example.com mail
10.0.0.13   server3 server3.example.com www
10.0.0.14   server4 server4.example.com file

Note
In this example, notice that each of the servers were given aliases in addition to their proper names and FQDN’s. Server1 has been mapped to the name vpn, server2 is referred to as mail, server3 as www, and server4 as file.

Name Service Switch (NSS) configuration

The order in which your system selects a method of resolving hostnames to IP addresses is controlled by the Name Service Switch (NSS) configuration file /etc/nsswitch.conf. As mentioned in the previous section, typically static hostnames defined in the systems /etc/hosts file have precedence over names resolved from DNS. The following is an example of the line responsible for this order of hostname lookups in the file /etc/nsswitch.conf.

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4
  • files first tries to resolve static hostnames located in /etc/hosts.

  • mdns4_minimal attempts to resolve the name using Multicast DNS.

  • [NOTFOUND=return] means that any response of notfound by the preceding mdns4_minimal process should be treated as authoritative and that the system should not try to continue hunting for an answer.

  • dns represents a legacy unicast DNS query.

  • mdns4 represents a multicast DNS query.

To modify the order of these name resolution methods, you can simply change the hosts: string to the value of your choosing. For example, if you prefer to use legacy unicast DNS versus multicast DNS, you can change the string in /etc/nsswitch.conf as shown below:

hosts:          files dns [NOTFOUND=return] mdns4_minimal mdns4

Bridging multiple interfaces

Bridging is a more advanced configuration, but is very useful in multiple scenarios. One scenario is setting up a bridge with multiple network interfaces, then using a firewall to filter traffic between two network segments. Another scenario is using bridge on a system with one interface to allow virtual machines direct access to the outside network. The following example covers the latter scenario:

Configure the bridge by editing your netplan configuration found in /etc/netplan/, entering the appropriate values for your physical interface and network:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: no
  bridges:
    br0:
      dhcp4: yes
      interfaces:
        - enp3s0

Now apply the configuration to enable the bridge:

sudo netplan apply

The new bridge interface should now be up and running. The brctl provides useful information about the state of the bridge, controls which interfaces are part of the bridge, etc. See man brctl for more information.

networkd-dispatcher for hook scripts

Users of the former ifupdown may be familiar with using hook scripts (e.g., pre-up, post-up) in their interfaces file. Netplan configuration does not currently support hook scripts in its configuration definition.

Instead, to achieve this functionality with the networkd renderer, users can use networkd-dispatcher. The package provides both users and packages with hook points when specific network states are reached, to aid in reacting to network state.

Note:
If you are on Desktop (not Ubuntu Server) the network is driven by Network Manager — in that case you need NM Dispatcher scripts instead.

The Netplan FAQ has a great table that compares event timings between ifupdown/systemd-networkd/network-manager.

It is important to be aware that these hooks run asynchronously; i.e. they will not block transition into another state.

The Netplan FAQ also has an example on converting an old ifupdown hook to networkd-dispatcher.

Resources

  • The Ubuntu Wiki Network page has links to articles covering more advanced network configuration.

  • The Netplan website has additional examples and documentation.

  • The Netplan man page has more information on Netplan.

  • The systemd-resolved man page has more information on systemd-resolved service.

  • For more information on bridging see the netplan.io examples page

Содержание

Краткое описание руководства

В данном руководстве объясняется, как подключить компьютер к сети при помощи конфигурационных файлов и консольных утилит. Основная цель — рассказать о различных способах подключения к интернету без использования GUI (графического интерфейса). Руководство не затрагивает таких тем, как настройка сетевых фильтров или, например, собственных точек доступа Wi-Fi. Подразумевается, что существует некий, предоставленный провайдером, способ подключения к интернету, для использования которого и необходимо выполнить приведенные ниже действия.

В руководстве приведены примеры редактирования конфигурационных файлов с помощью текстовых редакторов «nano» и «gedit». Обратите внимание на то, что первый редактор запускается в терминале и может быть использован как при запуске Ubuntu с графическим интерфейсом, так и без него, а «gedit» можно использовать только при включенной графической среде.

Требования к системе

Для воспроизведения описанных в руководстве действий подходит любой вариант установки системы. Наличие графического пользовательского интерфейса не обязательно. Все действия необходимо выполнять в консоли. Подразумевается, что команды, начинающиеся с символа $ — необходимо выполнять от пользователя, а начинающиеся с # — от суперпользователя (root).

Прежде чем Вы начнете, убедитесь, что:

  • Различные сетевые утилиты, предназначенные для автоматического конфигурирования сети выключены. Например, тут Вы можете прочитать, как отключить установленный по умолчанию в Ubuntu сетевой помощник Network Manager.

  • Различные сетевые фильтры (например iptables), и утилиты их конфигурирования (например, Firestarter) отключены/правильно настроены и не вмешиваются в работу сети.

  • У Вас есть все необходимые параметры для подключения в Вашей сети (например, IP-адрес, маска подсети и шлюз по умолчанию для соединения с использованием статического IP).

  • Устройства сети осуществляющие фильтрацию по MAC-адресу правильно настроены и «знают» Ваш сетевой интерфейс.

  • Драйвер Вашего сетевого устройства корректно установлен, кабель (при проводном соединении) исправен и подсоединен.

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

$ sudo lshw -C network

Она позволяет посмотреть подключенные сетевые устройства.

Пример вывода команды:

ubuntu@ubuntu:~$ sudo lshw -C network
  *-network               
       description: Ethernet interface                             # Тип устройства 
       product: L2 100 Mbit Ethernet Adapter                       # Название адаптера
       vendor: Attansic Technology Corp.                           # Производитель устройства
       physical id: 0
       bus info: pci@0000:03:00.0
       logical name: eth0                                          # Имя сетевого интерфейса
       version: a0
       serial: 00:00:00:00:00:00                                   # Физический адрес устройства (mac-адрес)
       size: 100MB/s
       capacity: 100MB/s
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress vpd bus_master cap_list 
ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes 
                      driver=atl2                                  # Используемый драйвер
                      driverversion=2.2.3                          # Версия драйвера
                      duplex=full firmware=L2 ip=192.168.0.5 latency=0 
                      link=yes                                     # Наличие линка
                      module=atl2 multicast=yes port=twisted pair 
                      speed=100MB/s                                # Текущая скорость подключения.

Обратите внимание на строку:

       logical name: eth0 

eth0 — это и есть искомое имя сетевого интерфейса.

Имя eth0 будет далее применяться для настройки именно данной сетевой карты. Где eth обозначает что используется Ethernet интерфейс, а 0 — номер устройства. Если у вас установлено несколько сетевых устройств, то, соответственно, им будут присвоены имена: eth0, eth1, eth2 и т.д.

После внедрения SystemD (начиная с Ubuntu 15.04) сетевые интерфейсы могут иметь другие имена (не ethX).
Сделано это для того, что бы имена сетевых устройств не менялись при подключении к машине новых адаптеров (в последнее время, некоторые USB модемы выступают в роли сетевого адаптера). В результате eth0 может называться например enp0s4 или eno1, или даже enx78e7d1ea46da. Именно это имя сетевого адаптера и нужно использовать в настройке сети.

Более подробно о наименовании сетевых интерфейсов в SystemD можно почитать тут (англ.).

Такое переименование можно отключить добавив в /etc/default/grub, в строку с переменной GRUB_CMDLINE_LINUX_DEFAULT строку net.ifnames=0. После этого нужно выполнить sudo update-grub

Настройка проводной сети

Настройка IP-адреса, шлюза по умолчанию, маски подсети

Отредактируйте файл конфигурации /etc/network/interfaces, например так:

$ sudo nano /etc/network/interfaces 

И допишите в него:

Для статического IP:

iface eth0 inet static 
address 192.168.0.1 
netmask 255.255.255.0 
gateway 192.168.0.254
dns-nameservers 192.168.0.254 8.8.8.8
auto eth0 

Где:

  • iface eth0 inet static — указывает, что интерфейс (iface eth0) находится в диапазоне адресов IPv4 (inet) со статическим ip (static);

  • address 192.168.0.1 — указывает что IP адрес (address) нашей сетевой карты 192.168.0.1;

  • netmask 255.255.255.0 — указывает что наша маска подсети (netmask) имеет значение 255.255.255.0;

  • gateway 192.168.0.254 — адрес шлюза (gateway) по умолчанию 192.168.0.254;

  • dns-nameservers 192.168.0.254 8.8.8.8 — адреса DNS серверов (о ниж мы расскажем позже)

  • auto eth0 — указывет системе что интерфейс eth0 необходимо включать автоматически при загрузке системы с вышеуказанными параметрами.

eth0 — имя подключаемого своего интерфейса. Список интерфейсов можно посмотреть набрав:

$ ip addr

В итоге файл /etc/network/interfaces должен выглядеть примерно так:

(для одного проводного соединения со статическим IP)

# 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

# Моя проводная сеть.
iface eth0 inet static 
address 192.168.0.1 
netmask 255.255.255.0 
gateway 192.168.0.254 
dns-nameservers 192.168.0.254 8.8.8.8
auto eth0 

Сохраните файл и закройте редактор. В данном примере (редактор nano) — нажмите Ctrl+X, затем Y, убедитесь, что «Имя файла для записи» — /etc/network/interfaces и нажмите Enter.

Более подробно про синтаксис файла /etc/network/interfaces можно прочитать в документации.

Пример конфигурации для динамического IP:

iface eth0 inet dhcp
auto eth0 

Временная настройка IP-адреса и маски подсети

При необходимости задать пробные настройки, выполните:

$ sudo ip addr add 192.168.0.1/24 dev eth0

Где 192.168.0.1 — наш IP-адрес, /24 — число бит в префиксной части адреса (соответствует маске подсети 255.255.255.0).

eth0 — подключаемый сетевой интерфейс.

Данные настройки пропадут после перезагрузки системы и не повлияют на файл /etc/network/interfaces

Настройка DNS

За конфигурацию DNS отвечает утилита resolvconf, которая работает в паре с небольшим кеширующим DNS сервером dnsmasq. resolvconf позволяет осуществить настройку DNS на основе данных от разных подсистем.

Одним из следствий этого полезного нововведения (переход на эту схему произошел в Ubuntu начиная с версии 12.04) является то, что теперь файл /etc/resolv.conf генерируется автоматически, а не индивидуально каждой программой, которая хочет его изменить (порой перезаписывая правки сделанные ранее). Автоматическая генерация /etc/resolv.conf означает, что внесенные «руками» изменения в него будут потеряны.

Автоматически формируемый /etc/resolv.conf содержит ссылку на DNS сервер на локальном интерфейсе (127.0.1.1), а там (на 53 порту) и сидит сервис dnsmasq, который отвечает за разрешение символьных имен в IP адреса. Нужно отметить, что этот порт (53) открыт в режиме LISTEN, но т.к. это локальный интерфейс, то из внешней сети этот порт не доступен.

Информацию о DNS для статических интерфейсов теперь надо вносить в /etc/network/interfaces1) в параметры dns-nameservers, dns-search и dns-domain (которые соответствуют параметрам nameserver, search и domain в /etc/resolv.conf)

Обратите внимание — в /etc/resolv.conf, при записи нескольких серверов используется несколько ключей nameserver, а в /etc/network/interfaces все адреса DNS серверов записывались в одну строчку после ключа dns-nameservers, разделенные пробелами.

В итоге описание статического интерфейса в /etc/network/interfaces должно выглядеть примерно так:

iface eth0 inet static 
address 192.168.0.1 
netmask 255.255.255.0 
gateway 192.168.0.254 
dns-nameservers 8.8.8.8 192.168.0.254
auto eth0 
Ubuntu до версии 12.04

В более старых версиях ubuntu, когда есть необходимость указать статические адреса DNS серверов (если они не выдаются автоматически) выполните:

$ sudo gedit /etc/resolv.conf

и впишите туда адреса DNS серверов (отдельные записи для каждого сервера):

nameserver 192.168.0.100
nameserver 192.168.0.200

Где 192.168.0.100 и 192.168.0.200 — адреса DNS серверов. Если нужно добавить больше адресов — каждый адрес нужно начинать с новой строки и с фразы nameserver

Настройка соединений ppp

За создание соединений типа «точка-точка» в Ubuntu отвечает демон pppd, более подробная информация о котором доступна в документации. В рамках данного руководства будут рассмотрены примеры создания PPPoE подключения через DSL модем, подключения PPTP (VPN-подключения) и DIAL-UP подключения через обычный модем.

Соединение PPPoE

В стандартную установку Ubuntu входит утилита для настройки PPPoE соединений – pppoeconf, для ее запуска наберите:

$ sudo pppoeconf

Появится «псевдографическое» 2) окно в терминале. Утилита произведет поиск сетевых устройств и выведет их на экран, далее она произведет поиск модема 3) на этих устройствах. Если на этом этапе pppoeconf выдаст отрицательный результат — проверьте правильность подключения, питание модема. Следующий шаг — выбор «популярных параметров» — в большинстве случаев стоит согласиться. Далее утилита запросит Ваш логин, а затем — пароль. Теперь — выбор способа указания DNS серверов. Опять же, в большинстве случаев следует согласиться на получение адресов DNS серверов автоматически. Далее Вам предложат ограничить размер MSS до 1452-х байт — как правило, стоит согласиться. Следующий вопрос — устанавливать ли подключение автоматически при загрузке компьютера. Последний вопрос утилиты — установить ли соединение сейчас. pppoeconf по умолчанию создает для подключения имя dsl-provider. Управлять подключением Вы можете при помощи команд:

$ sudo pon dsl-provider # Для подключения
или
$ sudo poff dsl-provider # Для отключения

Если в Вашем случае опций, предоставляемых утилитой pppoeconf недостаточно — обратитесь к документации по pppd или pppoeconf.

Замечание: при настройке соединения с помощью pppoeconf часть настроек записывается в /etc/network/interfaces, в результате чего Network Manager больше не может управлять сетью. Выход: либо использовать только NM, либо только консоль+конфиги.
Вернуть управление Network Manager можно следующим образом. Приведите /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

Перезапустите сеть:

$ sudo /etc/init.d/networking restart

Перезагрузитесь или перезапустите Network Manager:

$ sudo /etc/init.d/NetworkManager restart

Соединение PPTP

Для осуществления VPN-соединения при помощи pppd Вам потребуется установить пакет pptp-linux, который может быть найден на установочном диске Ubuntu. Далее создайте (от root’а) в папке /etc/ppp/peers файл с названием Вашего провайдера и отредактируйте его, например так:

$ sudo nano /etc/ppp/peers/my-provider

И добавьте туда опции подключения, например такие:

persist # При разрыве соединения - переподключаться снова.
maxfail 0 # Максимальное количество неудачных попыток подключения. 0 - бесконечно.
mtu 1476 # Значение MTU
name {логин} # Ваш логин.
#nodefaultroute # Не быть шлюзом по умолчанию
defaultroute # Быть шлюзом по умолчанию
replacedefaultroute # Заменить шлюз по умолчанию если он был
remotename {vpn} # Имя удаленного сервера (для нас), может быть любым.
pty "pptp {адрес_сервера} --nolaunchpppd" # Команда запуска pptp. 
# Адрес сервера - может быть как IP адресом, так и доменным именем, например vpn.foo.bar

Далее — отредактируйте файл /etc/chap-secrets 4) и добавьте туда:

{логин} {vpn} {пароль}

После перезагрузки системы Вы сможете управлять соединением при помощи команд:

$ sudo pon my-provider # Для подключения
или
$ sudo poff my-provider # Для отключения

Процесс настройки VPN-соединения может сильно облегчить скрипт-помощник.

Настройка DIAL-UP подключения

Для настройки модемного соединения можно использовать встроенный конфигуратор pppdpppconfig или специальную утилиту wvdial .

При помощи pppconfig

Процесс настройки при помощи pppconfig во многом похож на утилиту pppoeconfig, Вам по очереди будут заданы вопросы о параметрах подключения, и будет предложено ввести номер телефона, логин и пароль, а также имя соединения. Запускать pppconfig следует с правами суперпользователя. Например так:

$ sudo pppconfig

Управлять соединением можно так:

$ sudo pon my-provider # Для подключения
или
$ sudo poff my-provider # Для отключения

Где my-provider — имя, присвоенное Вами соединению при настройке.

При помощи wvdial

В некоторых случаях (например при подключении с использованием мобильного телефона), удобнее использовать wvdial . Для этого нужно его сначала установить. Например так:

$ sudo apt-get install wvdial

В состав пакета wvdial входит утилита автоматического конфигурирования — wvdialconf .

$ sudo wvdialconf

Вывод будет примерно следующим:

ubuntu@ubuntu:~$ sudo wvdialconf
[sudo] password for ubuntu: 
Editing `/etc/wvdial.conf'.

Scanning your serial ports for a modem.

Modem Port Scan<*1>: S0   S1   S2   S3   
WvModem<*1>: Cannot get information for serial port.
ttyACM0<*1>: ATQ0 V1 E1 -- OK
ttyACM0<*1>: ATQ0 V1 E1 Z -- OK
ttyACM0<*1>: ATQ0 V1 E1 S0=0 -- OK
ttyACM0<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK
ttyACM0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
ttyACM0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
ttyACM0<*1>: Modem Identifier: ATI -- Manufacturer: QUALCOMM INCORPORATED
ttyACM0<*1>: Speed 4800: AT -- OK
ttyACM0<*1>: Speed 9600: AT -- OK
ttyACM0<*1>: Speed 19200: AT -- OK
ttyACM0<*1>: Speed 38400: AT -- OK
ttyACM0<*1>: Speed 57600: AT -- OK
ttyACM0<*1>: Speed 115200: AT -- OK
ttyACM0<*1>: Speed 230400: AT -- OK
ttyACM0<*1>: Speed 460800: AT -- OK
ttyACM0<*1>: Max speed is 460800; that should be safe.
ttyACM0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK

Found an USB modem on /dev/ttyACM0.
Modem configuration written to /etc/wvdial.conf.
ttyACM0<Info>: Speed 460800; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0"

Теперь остается только отредактировать файл /etc/wvdial.conf и добавить в него номер телефона, логин и пароль.

$ sudo nano /etc/wvdial.conf

В данном примере я дополнительно добавил несколько опций. См. комментарии.

[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Modem Type = USB Modem
ISDN = 0
Idle Seconds = 0
New PPPD = yes
Dial Attempts = 0
Phone = #777
Modem = /dev/ttyACM0
Username = mobile
Password = internet
Baud = 460800
Idle Seconds = 0 # Время простоя соединения, 
# после которого нужно будет его разорвать. Значение 0 - никогда.
Dial Attempts = 0 # Количество попыток дозвона. 0 - бесконечно.
[Dialer pulse]
Dial Command = ATDP # Команда набора номера (P - импульсный, T - тональный). Имеет смысл для набора номера в импульсном режиме на старых АТС.

Файл /etc/wvdial.conf разбит на секции, в качестве разделителей которых выступают сами названия секций, предварённые словом Dialer, в квадратных скобках. Если исполнять команду без параметров, то в дело пойдут установки, перечисленные в секции Defaults. В противном случае дополнительно будут исполнены указанные в добавочных секциях команды.

Теперь, когда все настроено, соединение можно установить набрав:

$ sudo wvdial

Если потребуется запустить wvdial с набором номера в импульсном режиме, то это можно сделать командой

$ sudo wvdial pulse

Прервать соединение можно прервав выполнение команды wvdial, т.е. в том же терминале нужно нажать Ctrl+C.

Автоматическое подключение

Отредактируйте файл конфигурации /etc/network/interfaces, например так:

$ sudo nano /etc/network/interfaces 

И допишите в него:

Для pppoe , pptp , и модемного подключения без использования wvdial :

iface ppp0 inet ppp
provider my-provider
auto ppp0 

Где my-provider — название вашего соединения.

При использовании wvdial:

iface ppp0 inet wvdial
provider wvdial
auto ppp0 

Теперь при перезапуске сетевых служб соединение будет автоматически установлено.

Ручная настройка роутинга

Если Вы не получаете адрес шлюза по-умолчанию от сервера, к которому подключаетесь, или по какой-либо иной причине Вам необходимо указать маршруты вручную — Вы можете создать свой скрипт в /etc/ppp/ip-up.d/, либо по рекомендации официальной документации создать /etc/ppp/ip-up.local например так:

$ sudo nano /etc/ppp/ip-up.local

или

$ sudo nano /etc/ppp/ip-up.d/routing

со следующим кодом:

#! /bin/sh
#
route del default
route add default ppp0 # Имя ppp-подключения.
# тут - необходимые маршруты, например:
route add -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.0.1 dev eth0

Далее — сделайте этот скрипт исполняемым, например так:

$ sudo chmod ug+x /etc/ppp/ip-up.local

или

$ sudo chmod ug+x /etc/ppp/ip-up.d/routing

Теперь маршруты будут автоматически подключаться при установлении ppp-соединения.

Установка MTU и TTL

MTU (Maximum Transfer Unit) — параметр определяет величину максимальной единицы передачи.
Это максимальное количество октетов (байт), которое интерфейс способен поддерживать
за одну операцию приема/передачи. Для Ethernet это значение по умолчанию составляет
1500 (максимальный размер пакета Ethernet).

TTL (Time To Live) — время жизни ip-пакета в секундах. Нужен чтобы избежать перегрузки сети пакетами.
Обычно каждый роутер, через которого прошел пакет, уменьшает TTL на еденицу.
Если TTL=0, пакет из системы удаляется. Изначально TTL=128 (для Windows) и TTL=64 (для Ubuntu).
Для DNS-записей TTL определяет время актуальности данных при кешировании запросов.

Для изменения величины MTU, отредактируем файл конфигурации /etc/network/interfaces, например так:

auto eth0
iface eth0 inet static
address 192.168.1.5
netmask 255.255.255.0
mtu 600

Для изменения величины TTL наберите:

$ sudo su
затем
# echo "128" > /proc/sys/net/ipv4/ip_default_ttl

Значение TTL меняется только с правами администратора, для выхода из аккаунта администратора введите exit

Настройка WiFi

Настройка Wi-Fi при помощи wpa-supplicant и /etc/network/interfaces

В этой главе пойдет речь о настройке подключения к существующей Wi-Fi сети с использованием наиболее безопасного на сегодняшний день стандарта шифрования и аутентификации WPA2. Дополнительно приведены примеры настроек для менее безопасных соединений.

Если Вы можете повлиять на настройку точки доступа, например, в случае, если это Ваш домашний Wi-Fi роутер — постарайтесь настроить авторизацию с использованием WPA2, т.к. это наиболее безопасный протокол аутентификации в беспроводных сетях на настоящий момент.

Замечания

Дополнительно к требованиям, указанным выше Вам следует учесть, что:

  1. После установки всех необходимых пакетов, кабель проводной сети лучше отсоединить.

  2. Некоторые устройства (или их драйвера, например Madwifi) не поддерживают WPA2 (AES). Если соединение WPA2 установить не удается, можно попробовать WPA1 (TKIP).

  3. Если у Вас RTxxx (Ralink) с драйверами Serialmonkey — этот способ Вам не поможет. Вам следует либо установить пакет ndiswrapper, заменяющий Serialmonkey, либо попробовать другой способ.

Подготовка

Установите пакеты wpa-supplicant и wireless-tools

Например так:

$ sudo apt-get install wpasupplicant wireless-tools

Теперь убедитесь в том, что Ваше беспроводное устройство (в данном примере это «wlan0») работает и «видит» беспроводные сети. Команда

$ iwconfig

должна выдать примерно такой результат:

ubuntu@ubuntu:~$ iwconfig
lo        no wireless extensions.

eth0      no wireless extensions.

wmaster0  no wireless extensions.

wlan0     IEEE 802.11bg  ESSID:""  
          Mode:Managed  Frequency:2.412 GHz  Access Point: Not-Associated   
          Tx-Power=27 dBm   
          Retry min limit:7   RTS thr:off   Fragment thr=2352 B   
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

а доступные сети можно посмотреть командой

$ iwlist <имя интерфейса> scan

которая должна выдать примерно такой результат:

ubuntu@ubuntu:~$ iwlist wlan0 scan

wlan0     Scan completed :
          Cell 01 - Address: 00:00:00:00:00:00
                    ESSID:"ubuntuessid"
                    Mode:Master
                    Channel:8
                    Frequency:2.447 GHz (Channel 8)
                    Quality=7/100  Signal level:-99 dBm  Noise level=-104 dBm
                    Encryption key:on
                    Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 18 Mb/s
                              24 Mb/s; 36 Mb/s; 54 Mb/s; 6 Mb/s; 9 Mb/s
                              12 Mb/s; 48 Mb/s
                    Extra:tsf=0000001d57e98bf6
                    Extra: Last beacon: 388ms ago

Бывает, что Ваше устройство Wi-Fi не включено по умолчанию, тогда команда вместо рапорта, приведенного выше выдаст
такое сообщение:

wlan0	Failed to read scan data : Network is down

Ничего страшного, просто введите команду

sudo ip link set dev wlan0 up

соответственно выключить устройство можно командой

sudo ip link set dev wlan0 down

Настройка

Редактируем /etc/network/interfaces, например так:

$ sudo gedit /etc/network/interfaces

Удаляем (или комментируем) все упоминания нашего беспроводного интерфейса и добавляем свои:

iface wlan0 inet dhcp
wpa-driver wext
wpa-ssid <имя_точки_доступа>
wpa-ap-scan 1
wpa-proto RSN
wpa-pairwise CCMP
wpa-group CCMP
wpa-key-mgmt WPA-PSK
wpa-psk <hex_ключ> [ВАЖНО - см. Генерация ключей]
auto wlan0

Где:

Параметр Описание
iface wlan0 inet dhcp конфигурация для DHCP (для статического IP см. пример ниже)
«iface wlan0» — Имя нашего интерфейса (wlan0, eth1, rausb0, ra0, итд.)
wpa-driver Это wpa-driver для нашей карты
(‘wext’ — общий драйвер для linux, работающий с «ndiswrapper»). Рекомендуется оставить как есть.
Другие варианты:
hostap = Host AP driver (Intersil Prism2/2.5/3)
atmel = ATMEL AT76C5XXx (USB, PCMCIA)
wext = Linux wireless extensions (generic)
madwifi = Atheros
wired = wpa_supplicant wired Ethernet driver
wpa-ssid Имя нашей точки доступа (ESSID). Без кавычек.
wpa-ap-scan Параметр вещания точкой доступа ее имени.
«1» = ESSID вещается всем.
«2» = ESSID скрыт.
wpa-proto Протокол
«RSN» = WPA(2)
«WPA» = WPA(1)
wpa-pairwise & wpa-group «CCMP» = AES-шифрователь (как часть стандарта WPA(2))
«TKIP» = TKIP-шифрователь (как часть стандарта WPA(1))
wpa-key-mgmt «WPA-PSK» = Аутентификация через ключевую фразу (см. ‘Cоздание ключей’)
«WPA-EAP» = Аутентификация при помощи сервера аутентификаций.
auto wlan0 Автоматическое включение wlan0 при загрузке/перезагрузке сети.

Генерация ключей

Теперь нам нужно сконвертировать нашу ключевую фразу (WPA ASCII) в hex-ключ:

$ wpa_passphrase <имя_точки_доступа> <ascii_ключ>

Результат будет примерно таким:

network={
ssid="test"
#psk="12345678"
psk=fe727aa8b64ac9b3f54c72432da14faed933ea511ecab1 5bbc6c52e7522f709a
}

hex-ключ это все символы после «psk=».

Нужно его скопировать в буфер обмена и вставить в файл /etc/network/interfaces в поле wpa-psk.

Теперь можно сохранить файл и перезагрузить сеть. Должно установиться соединение. Однако иногда этого сразу не происходит. Если это так — перезагружаем машину.

Дополнительно

Отключаем чтение файла /etc/network/interfaces для others во избежания попадания пароля от сети к третьим лицам.

$ sudo chmod o=-r /etc/network/interfaces

Примеры конфигураций

WPA2 + статический IP, скрытый ESSID.

iface wlan0 inet static
address 192.168.168.40
gateway 192.168.168.230
dns-nameservers 192.168.168.230
netmask 255.255.255.0
wpa-driver wext
wpa-ssid <имя_точки_доступа>
wpa-ap-scan 2
wpa-proto RSN
wpa-pairwise CCMP
wpa-group CCMP
wpa-key-mgmt WPA-PSK
wpa-psk <hex_ключ> [ВАЖНО - см. Генерация ключа]
auto wlan0

WPA1 + DHCP, ESSID виден всем.

iface wlan0 inet dhcp
wpa-driver wext
wpa-ssid <имя_точки_доступа>
wpa-ap-scan 1
wpa-proto WPA
wpa-pairwise TKIP
wpa-group TKIP
wpa-key-mgmt WPA-PSK
wpa-psk <hex_ключ> [ВАЖНО - см. Генерация ключа] 
auto wlan0

Смешанный режим (WPA1, WPA2) + DHCP, ESSID виден всем.

iface wlan0 inet dhcp
wpa-driver wext
wpa-ssid <имя_точки_доступа>
wpa-ap-scan 1
wpa-proto WPA RSN
wpa-pairwise TKIP CCMP
wpa-group TKIP CCMP
wpa-key-mgmt WPA-PSK
wpa-psk <hex_ключ> [ВАЖНО - см. Генерация ключа]
auto wlan0

LEAP, WEP, DHCP, ESSID виден всем.

iface wlan0 inet dhcp
wpa-driver wext
wpa-ssid <имя_точки_доступа>
wpa-ap-scan 1
wpa-eap LEAP
wpa-key-mgmt IEEE8021X
wpa-identity <имя_пользователя>
wpa-password <пароль>
auto wlan0

PEAP, AES, DHCP, ESSID виден всем.

iface wlan0 inet dhcp
wpa-driver wext
wpa-ssid <имя_точки_доступа>
wpa-ap-scan 1
wpa-proto RSN
wpa-pairwise CCMP
wpa-group CCMP
wpa-eap PEAP
wpa-key-mgmt WPA-EAP
wpa-identity <наш_identity>
wpa-password <пароль>
auto wlan0

TTLS, WEP, DHCP, ESSID виден всем.

iface wlan0 inet dhcp
wpa-driver wext
wpa-ssid <имя_точки_доступа>
wpa-ap-scan 1
wpa-eap TTLS
wpa-key-mgmt IEEE8021X
wpa-anonymous-identity <anonymous_identity>
wpa-identity <наш_identity>
wpa-password <наш_password>
wpa-phase2 auth=PAP [Также: CHAP, MSCHAP, MSCHAPV2]
auto wlan0

Другие способы работы Wi-Fi оборудования

При помощи Wi-Fi адаптера также возможно установить децентрализованную сеть ad-hoc или сделать из компьютера под управлением Ubuntu точку доступа. Поскольку описание данных способов Wi-Fi подключения выходит за рамки этого руководства — обратитесь к соответствующим разделам. Ссылки на эти разделы см. в разделе Cсылки.

Решение проблем

Не устанавливается соединение по Wi-Fi/Ethernet с точкой доступа/маршрутизатором

Симптомы: сеть обычно изначально работает нормально, долго или недолго, а затем неожиданно пропадает и не появляется после перезагрузки. Эта проблема может быть непостоянной. Сеть «сама собой» начинает работать, а затем пропадает вновь.
При перезапуске адаптера сети таким образом:

sudo ifdown wlan0
sudo ifup wlan0

будет выводиться в консоль похожий текст

Listening on LPF/wlan0/00-02-2A-E1-E0-6C
Sending on   LPF/wlan0/00-02-2A-E1-E0-6C
Sending on   Socket/fallback
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 8
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 8
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 15
No DHCPOFFERS received.
No working leases in persistent database - sleeping.

Причиной проблемы может быть то, что материнская плата полностью не обесточивается при выключении компьютера. При этом вероятно не обесточивается и некоторое периферийное оборудование, в т.ч. могут не обесточиваться usb порты. Если вы используете, например, Wi-Fi usb-адаптер, то в таком случае можно заметить горящий на адаптере светодиод (если он им оборудован). Вероятно проблема возникает из-за того, что сетевое оборудование в этом режиме работает не совсем корректно.

Простое решение проблемы состоит в выключении компьютера и выдергивании кабеля питания из розетки с последующим подключением шнура питания и включением компьютера.

Сложное решение проблемы состоит в настройке параметров BIOS-а на полное обесточиваение сетевого оборудования при выключении компьютера.

Иногда наглухо пропадает соединение по Wi-Fi с точкой доступа/маршрутизатором

Симптомы: сеть изначально работает, а затем после перезагрузки точки доступа/маршрутизатора неожиданно пропадает, и не появляется ни после перезагрузки, ни после танцев с бубном. При этом беспроводной адаптер в упор не видит точку доступа (хотя она может стоять рядом с компьютером), но прекрасно видит все соседские сети. Затем после ~дцатой~ перезагрузки маршрутизатора сеть сама собой появляется вновь.

Причиной проблемы может быть то, что некоторые маршрутизаторы произвольно выбирают номер рабочего канала, игнорируя номер канала выбранный в настройках маршрутизатора. Если в файле /etc/network/interfaces номер канала для беспроводного интерфейса указан, то вероятно проблема состоит именно в этом. Номер 6 канала указывается в файле примерно так:

auto wlan0
...
wireless-channel 6

Простое решение проблемы состоит в комментировании этого параметра, чтобы адаптер не был ограничен только этим каналом, и перезапуске сети

auto wlan0
...
#wireless-channel 6

Сложное решение проблемы состоит в регистрации бага на сайте производителя маршрутизатора (прошивки для него) и обновление прошивки маршрутизатора после (в случае) его исправления.

Перезапуск сети

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

$ sudo /etc/init.d/networking restart

Теперь, при запуске команды ip addr должно отобразиться подключение eth0 с выставленными параметрами.
Если подключение отображается, но параметры не такие, какие были указаны в файле /etc/network/interfaces, либо возникают любые другие ошибки, перепроверьте этот файл на наличие неточностей и опечаток и попробуйте ещё раз перезапустить сеть.

FAQ по сетям

Как зайти на мой компьютер извне (через интернет)?

Для начала надо узнать, какой IP-адрес даёт провайдер — серый или белый (не путать со статическим/динамическим). Если серый, то ничего не получится. Если белый, то возможны два варианта:

  • Роутера нет или он работает в режиме бриджа (моста). В этом случае белый IP-адрес присваивается самому компьютеру. Вводим адрес — попадаем на комп, всё просто.

  • Белый адрес присваивается роутеру. Соответственно, по этому адресу мы попадаем на роутер, а не на компьютер. Чтобы попасть на компьютер, на роутере нужно пробросить порты (см. ниже).

Мне кажется, у меня слишком медленно работает сеть!

Измерьте скорость сети между двумя компьютера с помощью iperf. Можно воспользоваться этой инструкцией. В ней предлагают скомпиллировать программу из исходников, но можно просто установить её из репозитория. Если iperf покажет значение немного меньшее, чем ожидаемое, то с сетью всё в порядке, проблема может быть в железе (жёсткий диск/процессор не могут обеспечить большую скорость), в способе передачи (например, scp и ftp весьма неторопливы), в настройках (скорость может быть ограничена, например, настройками FTP-сервера) или в чём-то ещё. Если iperf показал величину, которая в разы меньше желаемой, то да — с сетью проблемы. Стоит посмотреть, в нужном ли режиме работает карта (например, с помощью ethtool), проверить наличие «errors» в выводе ifconfig и протестировать скорость подключения к какому-нибудь третьему компьютеру.

Как узнать, какие программы слушают порты на моём компьютере?

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

sudo netstat -nlpA inet,inet6

Для вывода информации о конкретном порте можно использовать grep. Например, для 80 порта:

sudo netstat -nlpA inet,inet6 | grep :80

Из вывода netstat не всегда понятно, о какой программе идёт речь (например, 2671/python), подробнее о процессе расскажет ps:

ps aux | grep 2671

Как присвоить два IP-адреса одной сетевой карте?

Например, интерфейсу eth0 нужно добавить адрес 192.168.1.1.
Кратковременно, до перезапуска сети:

sudo ip addr add 192.168.1.1/24 dev eth0

Навсегда — добавить в /etc/network/interfaces следующее:

#исправить строку auto
auto eth0 eth0:1

# добавить алиас
iface eth0:1 inet static
  address 192.168.1.1
  netmask 255.255.255.0

Как пробросить порт?

Например, нужно пробросить порт 8081. Адрес, на который обращается клиент, назовём внешний_ip, а адрес, на который он должен попасть — внутренний_ip.

iptables -t nat -A PREROUTING -p tcp -d внешний_ір --dport 8081 -j DNAT --to-destination внутренний_ір:8081
iptables -t nat -A POSTROUTING -p tcp --dst внутренний_ір --dport 8081 -j SNAT --to-source внешний_ір

И обязательно нужно что-то вроде

iptables -t filter -A FORWARD -m conntrack --ctstate DNAT -j ACCEPT

Ссылки


Download Article


Download Article

If you need to find or change the IP address of your default gateway or router on Linux, you’re in luck—it’s super easy to do. This wikiHow article will show you how to use the route command to find the default gateway IP address on Linux, and how to set a new default gateway in your /etc/network/interfaces configuration file.

  1. Image titled Add or Change the Default Gateway in Linux Step 1

    1

    Open the Terminal. You can open the Terminal from the side bar, or by pressing Ctrl+Alt+T.[1]

  2. Image titled Add or Change the Default Gateway in Linux Step 2

    2

    View your current default gateway. You can check what your default gateway is set to by typing route and pressing Enter. The address next to «default» shows your default gateway, and the interface it is assigned to is displayed on the right side of the table.

    Advertisement

  3. Image titled Add or Change the Default Gateway in Linux Step 3

    3

    Delete your current default gateway. If you have more than one default gateway set, you’ll run into connection conflicts. Delete your existing default gateway if you intend to change it.[2]

    • Type sudo route delete default gw IP Address Adapter. For example, to delete the default gateway 10.0.2.2 on the eth0 adapter, type sudo route delete default gw 10.0.2.2 eth0.
  4. Image titled Add or Change the Default Gateway in Linux Step 4

    4

    Type .sudo route add default gw IP Address Adapter. For example, to change the default gateway of the eth0 adapter to 192.168.1.254, you would type sudo route add default gw 192.168.1.254 eth0.[3]
    You’ll be prompted for your user password in order to complete the command.

  5. Advertisement

  1. Image titled Add or Change the Default Gateway in Linux Step 5

    1

    Open the configuration file in an editor. Type sudo nano /etc/network/interfaces to open the file in the nano editor. Editing your configuration file will keep your changes every time the system restarts.[4]

  2. Image titled Add or Change the Default Gateway in Linux Step 6

    2

    Navigate to the correct section. Find the section for the adapter you want to change the default gateway for. For a wired connection, this is usually eth0.

  3. Image titled Add or Change the Default Gateway in Linux Step 7

    3

    Add .gateway IP Address to the section. For example, type gateway 192.168.1.254 to make the default gateway 192.168.1.254.[5]

  4. Image titled Add or Change the Default Gateway in Linux Step 8

    4

    Save your changes and exit. Press Ctrl+X and then Y to save your changes and exit.

  5. Image titled Add or Change the Default Gateway in Linux Step 9

    5

    Restart your network. Restart your network by typing sudo /etc/init.d/networking restart.[6]

  6. Advertisement

Add New Question

  • Question

    Will the admins know if I change my IP?

    Community Answer

    Yes, if they chose to check.

Ask a Question

200 characters left

Include your email address to get a message when this question is answered.

Submit

Advertisement

Video

Thanks for submitting a tip for review!

About This Article

Article SummaryX

1. Open a terminal window.
2. Type «sudo route delete default gw (IP) (Adapter)» and press Enter.
3. Type «sudo route add default gw (IP) (Adapter)» and press Enter.
4. Open /etc/network/interfaces in a text editor.
5. Update the gateway IP address for the adapter.
6. Save your changes and exit the editor.
7. Type «sudo /etc/init.d/networking restart» and press Enter.

Did this summary help you?

Thanks to all authors for creating a page that has been read 951,719 times.

Is this article up to date?


Download Article


Download Article

If you need to find or change the IP address of your default gateway or router on Linux, you’re in luck—it’s super easy to do. This wikiHow article will show you how to use the route command to find the default gateway IP address on Linux, and how to set a new default gateway in your /etc/network/interfaces configuration file.

  1. Image titled Add or Change the Default Gateway in Linux Step 1

    1

    Open the Terminal. You can open the Terminal from the side bar, or by pressing Ctrl+Alt+T.[1]

  2. Image titled Add or Change the Default Gateway in Linux Step 2

    2

    View your current default gateway. You can check what your default gateway is set to by typing route and pressing Enter. The address next to «default» shows your default gateway, and the interface it is assigned to is displayed on the right side of the table.

    Advertisement

  3. Image titled Add or Change the Default Gateway in Linux Step 3

    3

    Delete your current default gateway. If you have more than one default gateway set, you’ll run into connection conflicts. Delete your existing default gateway if you intend to change it.[2]

    • Type sudo route delete default gw IP Address Adapter. For example, to delete the default gateway 10.0.2.2 on the eth0 adapter, type sudo route delete default gw 10.0.2.2 eth0.
  4. Image titled Add or Change the Default Gateway in Linux Step 4

    4

    Type .sudo route add default gw IP Address Adapter. For example, to change the default gateway of the eth0 adapter to 192.168.1.254, you would type sudo route add default gw 192.168.1.254 eth0.[3]
    You’ll be prompted for your user password in order to complete the command.

  5. Advertisement

  1. Image titled Add or Change the Default Gateway in Linux Step 5

    1

    Open the configuration file in an editor. Type sudo nano /etc/network/interfaces to open the file in the nano editor. Editing your configuration file will keep your changes every time the system restarts.[4]

  2. Image titled Add or Change the Default Gateway in Linux Step 6

    2

    Navigate to the correct section. Find the section for the adapter you want to change the default gateway for. For a wired connection, this is usually eth0.

  3. Image titled Add or Change the Default Gateway in Linux Step 7

    3

    Add .gateway IP Address to the section. For example, type gateway 192.168.1.254 to make the default gateway 192.168.1.254.[5]

  4. Image titled Add or Change the Default Gateway in Linux Step 8

    4

    Save your changes and exit. Press Ctrl+X and then Y to save your changes and exit.

  5. Image titled Add or Change the Default Gateway in Linux Step 9

    5

    Restart your network. Restart your network by typing sudo /etc/init.d/networking restart.[6]

  6. Advertisement

Add New Question

  • Question

    Will the admins know if I change my IP?

    Community Answer

    Yes, if they chose to check.

Ask a Question

200 characters left

Include your email address to get a message when this question is answered.

Submit

Advertisement

Video

Thanks for submitting a tip for review!

About This Article

Article SummaryX

1. Open a terminal window.
2. Type «sudo route delete default gw (IP) (Adapter)» and press Enter.
3. Type «sudo route add default gw (IP) (Adapter)» and press Enter.
4. Open /etc/network/interfaces in a text editor.
5. Update the gateway IP address for the adapter.
6. Save your changes and exit the editor.
7. Type «sudo /etc/init.d/networking restart» and press Enter.

Did this summary help you?

Thanks to all authors for creating a page that has been read 951,719 times.

Is this article up to date?

Для доступа в Интернет жизненно важную роль играет шлюз. Для доступа к другим устройствам в сети или таким устройствам, как компьютеры, они должны быть настроены автоматически или вручную сетевым или системным администратором. Связь между различными устройствами необходима для маршрутизации пакетов данных, когда они перемещаются по сети. Таблица маршрутизации системы определяет, какой сетевой интерфейс должен отправлять эти пакеты удаленным системам или устройствам. Для этого используются сетевые устройства, хотя маршрутизация может выполняться любым устройством, настроенным как маршрутизатор.

Для трафика используется шлюз по умолчанию. не предназначено для локальной сети и для которой в таблице маршрутизации не рекомендуется использовать какой-либо конкретный маршрут. Точно так же трафик статических маршрутов не должен или не должен проходить через шлюз по умолчанию. Традиционно шлюз по умолчанию служит выделенным сетевым маршрутизатором.

Что мы будем освещать?

Из этого руководства вы узнаете, как настроить шлюз по умолчанию в ОС Ubuntu 20.04 (Focal Fossa) с помощью команд «ip route» и «route». Давайте начнем с этого HowTo.

Какие предварительные условия?

Прежде чем приступить к изучению этого руководства, обратите внимание на следующие требования:

  1. В вашей системе установлен Ubuntu 20.04 с подключением к Интернету.
  2. Учетная запись пользователя root или учетная запись пользователя с привилегиями sudo.
  3. Базовые знания компьютерных сетей и администрирования Ubuntu.

Меры предосторожности: Обратите внимание, что это очень продвинутое техническое руководство. Пытайтесь следовать этому руководству, только если вы знаете, что делаете. Если вы новичок и в конечном итоге испортите конфигурацию сети, вы можете потерять подключение к Интернету.

Экспериментальная установка

В этом руководстве мы будем использовать IP 192.168.56.4 (enp0s8) в качестве адреса шлюза по умолчанию, IP-адрес одного из интерфейсов на нашей машине Ubuntu (VM1). Другой интерфейс имеет другой IP-адрес: 192.168.57.5 (enp0s3). Теперь идет VM2, у которой есть только один интерфейс с IP-адресом 192.168.56.101 (enp0s3). Понятно, что VM2 enp0s3 не может получить доступ к VM1 enp0s3, поскольку обе находятся на разных сетевых адресах.

Наша задача — заставить обе ВМ общаться по интерфейсам с разными сетевыми адресами. Мы установим IP-адрес VM1 (192.168.56.4) в качестве шлюза для другой машины (VM2), а затем проверим, отправив эхо-запрос VM1 от VM2, чтобы узнать, может ли он достичь шлюза.

VM1 192.168.56.4 (enp0s8) 192.168.56.101 (enp0s3)
VM2 192.168.57.5
(enp0s3)

Определение IP-адреса шлюза по умолчанию

Давайте сначала проверим шлюз по умолчанию, который уже установлен на нашей машине, для этого запустим команду:

IP-маршрут

На терминале отобразится шлюз по умолчанию.

В качестве альтернативы мы можем использовать команду «route» для той же цели:

маршрут -n

Если вы получите сообщение об ошибке «Команда «маршрут» не найдена», То вы можете установить команду« route »с помощью:

судо подходящий установить сетевые инструменты

Установите флажок UG, чтобы найти шлюз. Флаги таблицы маршрутизации и их значения приведены ниже:

U: UP — указывает, что маршрут активен и действителен.
H: Хост — цель для хоста
G: Gateway — означает, что маршрут ведет к шлюзу.
R: Отклонить — устанавливается ARP, когда срок действия записи истек.
D: Динамический — Маршрут добавлен перенаправлением маршрутизации.
M: Modified — Маршрут изменен перенаправлением маршрутизации.

Вывод двух вышеуказанных команд практически идентичен. Другой способ — использовать «netstat -rn’Для проверки IP-адреса шлюза.

Установка шлюза по умолчанию с помощью команды «ip»

Во-первых, мы будем использовать «ip’, Чтобы установить шлюз по умолчанию на ВМ2. Для этого выполните шаги, указанные ниже:

Шаг 1. Откройте терминал (Ctrl + Alt + F2) и выполните команду:

судоIP-маршрут добавить по умолчанию через 192.168.56.4

Шаг 2. Теперь проверьте связь с ВМ1 с ВМ2, чтобы проверить, доступен ли наш шлюз:

пинг-c3 192.168.57.5

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

судоIP-маршрут del по умолчанию через 192.168.56.4

Чтобы подтвердить указанные выше изменения, используйте значок «маршрут -nКоманда.

Установка шлюза по умолчанию с помощью команды «route»

Теперь мы будем использовать «маршрут’, Чтобы установить шлюз по умолчанию на ВМ2. Для этого выполните шаги, указанные ниже:

Шаг 1. Откройте терминал (Ctrl + Alt + F2) и выполните команду:

судо маршрут добавить по умолчанию gw 192.168.56.4

Шаг 2. Теперь проверьте связь с ВМ1 с ВМ2, чтобы проверить, доступен ли наш шлюз:

пинг-c3 192.168.57.5

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

судо маршрут по умолчанию gw 192.168.56.4

Чтобы подтвердить вышеуказанные изменения, используйте команду «route -n».

Вывод

В этом руководстве мы узнали о настройке шлюза по умолчанию в Ubuntu 20.04. Попробуйте составить разные сценарии устройств и подключить их через общий шлюз.

В наше время все происходит через Интернет. Не ошибусь, если скажу, что «Интернет стал основным условием нашей жизни». А Интернет — это сеть сетей, которые связаны между собой. Чтобы пользоваться Интернетом, необходимо знать основы работы сети и способы подключения локальной сети к Интернету. Первое и самое важное при подключении к Интернету — это IP-адрес. IP-адрес — это ваш идентификатор в Интернете, такой же, как номер телефона, номер социального страхования и т.д.

Чтобы просматривать Интернет, вам нужен IP-адрес. Если сеть не работает или не работает, пользователь должен уметь найти причину проблемы. Чтобы определить проблему, необходимо знать основы работы в сети. Сетевой стек Linux обеспечивает большую гибкость в управлении сетью через графический интерфейс пользователя и командную строку. В этом учебнике мы рассмотрим, как управлять, отлаживать и устранять сетевые проблемы с помощью графического интерфейса Linux и интерфейса командной строки.

Содержание

  1. Как назначить статически IP-адрес
  2. Как изменить статический IP-адрес
  3. Как установить, какой DNS-сервер будет использоваться для разрешения доменных имен
  4. Как установить IP-адрес шлюза

Как назначить статически IP-адрес

Когда вы подключаетесь к сети, первое, что получает ваш компьютер, — это IP-адрес от сетевого маршрутизатора. Существует два способа присвоения IP-адреса. Один из них — статический, а другой — динамический. В этом разделе мы покажем вам, как назначить IP-адрес статически через графический интерфейс пользователя и через командную строку.

Шаг 1: Сначала откройте терминал. Когда терминал будет открыт, вы увидите экран, похожий на этот:

Командная строка терминала

Шаг 2: Введите команду «ip addr show», чтобы увидеть доступные сетевые адаптеры, которым вы хотите изменить IP-адрес, и нажмите кнопку execute.

В этом руководстве мы сосредоточимся на «ens33». Результат будет выглядеть следующим образом:

 Получить сетевой адаптер

Шаг 3: Используйте команду «ip addr add X.X.X.X/24 dev ens33» для изменения IP-адреса. В нашем примере адрес X.X.X.X равен 192.168.153.142.

ip addr add 192.168.153.142/24 dev ens33

Шаг 4: Выполните вышеуказанную команду, и IP-адрес будет успешно изменен. Вы можете проверить это с помощью команды «ip addr show».

Как изменить статический IP-адрес

Чтобы изменить статический IP-адрес, назначенный нашему компьютеру, выполните следующие действия:

Шаг 1: Прежде всего, откройте Терминал. Введите команду «ip addr show», чтобы увидеть доступные сетевые адаптеры, которым вы хотите изменить IP-адрес, и нажмите кнопку execute.

В этом руководстве мы сосредоточимся на «ens33». Результат будет выглядеть следующим образом:

Показать IP-адрес

Шаг 2: Используйте команду «sudo ifconfig ens33 X.X.X.X netmask 255.255.255.0» для изменения IP-адреса. В нашем примере X.X.X.X.X адрес 192.168.153.142.

sudo ifconfig ens33 192.168.153.142 netmask 255.255.255.0

Шаг 3: Выполните вышеуказанную команду, и IP-адрес будет успешно изменен. Вы можете проверить это с помощью команды «ip addr show».

Как установить, какой DNS-сервер будет использоваться для разрешения доменных имен

DNS-сервер является одним из наиболее важных компонентов сети. Задача DNS-сервера заключается в преобразовании доменного имени или URL в IP-адрес, используемый сетью для связи с сервером. Если DNS-сервер настроен неправильно или перестал работать, пользователь не сможет просматривать Интернет. Чтобы изменить IP-адрес DNS, выполните следующие действия:

Шаг 1: Прежде всего, откройте Терминал. Перед изменением DNS-сервера сделайте резервную копию существующего файла конфигурации сети. Для этого выполните следующую команду:

sudo cp /etc/resolv.conf /etc/resolv.orig

Шаг 2: Ввведите команду:

sudo echo "nameserver 1.1.1.1" > /etc/resolv.conf

В данном примере 1.1.1.1 — это адрес сервера DNS.

После выполнения вышеуказанных команд адрес DNS-сервера был успешно обновлен. Для проверки выполните команду:

Как установить IP-адрес шлюза

Шлюз, также известный как шлюз по умолчанию, является очень важным компонентом в сети. Обычно он представляет собой пограничный маршрутизатор и используется, когда компьютер хочет отправить информацию через Интернет в другую сеть. Чтобы изменить IP-адрес шлюза, выполните следующие действия:

Шаг 1: Откройте Терминал. Введите команду:

sudo route add default gw X.X.X.X ens33

В данном примере 192.168.153.1 — это адрес шлюза.

sudo route add default gw 192.168.153.142 ens33

После выполнения вышеуказанных команд адрес шлюза был успешно обновлен.

Содержание

Введение
nmcli
ip a:Получить список сетевых интерфейсов
DHCP: Динамический IP
Статический IP
Включить (up) / Выключить (down) сетевой интерфейс
Изменить gateway
Изменить netmask
Прослушиваемые порты
Netstat
rsyslog
SSH
traceroute
Список сетевых подключений
ping
Похожие статьи

Чтобы лучше ориентироваться в сетевом администрировании, а именно в таких понятиях как типы IP адресов, маски, подсети и т.д. советую изучить статью

«Основы компьютерных сетей»

Введение

Настройка сетевого подключения это важнейший шаг при работе с Ubuntu, который может вызвать
у новичка много вопросов.

В этой статье вы можете найти ответы на некоторые из них.

nmcli

nmcli conn show

NAME UUID TYPE DEVICE
k3-5-bw4-udp-1196 754bf232-b384-4e41-944f-00b37e781ea3 vpn wlp0s20f3
NetGuest 09a61c52-6da7-4947-bcce-bd928c72ec04 wifi wlp0s20f3
tun0 749f87c0-2e48-48d6-a8b9-924e120b4e22 tun tun0
br-cb9e77c3b2f2 744bd9ed-dc76-4632-9bb7-47605e47d16e bridge br-cb9e77c3b2f2
docker0 717d7ef5-2bcf-493e-af17-ea858a83d7ce bridge docker0

Net2.4G cee7ba3b-2835-4383-ae97-70ed50ec6d41 wifi —
NetM 131ea9fd-ca46-4de6-b909-542ae1548894 wifi —
SKYnet 5faa88cd-b6a4-4b8d-aa16-d0c8a62425ea wifi —
S-office 5ca185cc-cd49-4451-99c8-42ae24aef077 wifi —
Wired connection 1 befcb047-1362-33bf-8819-96d783e30df5 ethernet —

ip

Команда ip доступна из утилиты iproute2, которую можно установить командой

sudo apt install -y iproute2

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

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

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

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

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

В этом примере компьютер с Ubuntu(1) соединён с компьютером с

Windows

(2) напрямую через Ethernet кабель

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

SSH
.

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

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

дальше

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

DHCP

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

iface eth0 inet dhcp

Статический IP

Сперва нужно узнать имена интерфейсов

ip a

Далее можно воспользоваться утилитой ip либо настроить через

netplan

ip

Пример присвоения интерфейсу enp0s31f6 IP адреса 10.0.2.16/24

sudo ip addr add 10.0.2.16/24 dev enp0s31f6

netplan

Нужно зайти в директорию

/etc/netplan/

и посмотреть как называется файл с настройками

cd /etc/netplan

ls -la

Отредактируем файл

01-network-manager-all.yaml

sudo vi 01-network-manager-all.yaml

Самое главное — это следить за отступами. Например, — перед IP должна быть ровно
под второй буквой d в слове addresses.

Делать отступы нужно пробелом, не табуляцией

network:
version: 2
renderer: networkd
ethernets:
ens32:
addresses:
— 172.16.120.74/16
nameservers:
addresses: [127.0.0.53, 172.16.1.5]

nameservers: нужны не всегда, можете сперва их не указывать и посмотреть всё ли вас устраивает.

Применить новые настройки можно командой

sudo netplan apply

Проверить результат можно выполнив снова ip a

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 fq_codel 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
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 2822sec preferred_lft 2822sec
inet6 fe80::4deb:2d14:d1e8:8c7f/64 scope link noprefixroute
valid_lft forever preferred_lft forever

ВКЛЮЧИТЬ интерфейс 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

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

Посмотреть к чему по умолчанию назначен определённый порт можно в файле
/etc/services

Например, порт 636

cat /etc/services | grep 636

ldaps 636/tcp # LDAP over SSL
ldaps 636/udp

ss

Посмотреть список открытых портов можно утилитой ss которая входит в состав iproute2

sudo apt install -y iproute2

ss -lntup

Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
udp UNCONN 0 0 0.0.0.0:40292 0.0.0.0:*
udp UNCONN 0 0 127.0.0.53%lo:53 0.0.0.0:*
udp UNCONN 0 0 0.0.0.0:631 0.0.0.0:*
udp UNCONN 0 0 0.0.0.0:5353 0.0.0.0:*
udp UNCONN 0 0 [::]:5353 [::]:*
udp UNCONN 0 0 [::]:46860 [::]:*
tcp LISTEN 0 4096 127.0.0.53%lo:53 0.0.0.0:*
tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
tcp LISTEN 0 128 127.0.0.1:631 0.0.0.0:*
tcp LISTEN 0 128 [::]:22 [::]:*
tcp LISTEN 0 2 [::1]:3350 [::]:*
tcp LISTEN 0 128 [::1]:631 [::]:*
tcp LISTEN 0 2 *:3389 *:*

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

ss -na | grep :5000

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

О том как открывать порты в Ubuntu вы можете прочитать в статье

UFW: Ubuntu Firewall

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

netstat, fuser или lsof

Начнём с netstat

Netstat

Netstat входи в состав net-tools
который устанавливается командой

sudo apt -y install net-tools

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

netstat

Для изучения подключений по сети используются опции tupn

sudo netstat -tupn

Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 10.1.102.72:22 10.1.54.137:33010 ESTABLISHED 4054/sshd: andrei [
udp 0 0 10.1.102.72:68 10.1.103.252:67 ESTABLISHED 709/NetworkManager
udp 0 0 10.15.252.122:68 10.15.255.252:67 ESTABLISHED 709/NetworkManager

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

sudo netstat -tulpn | grep LISTEN

tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 795/cupsd
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 664/systemd-resolve
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 3955/sshd: /usr/sbi
tcp6 0 0 ::1:631 :::* LISTEN 795/cupsd
tcp6 0 0 :::3389 :::* LISTEN 3048/xrdp
tcp6 0 0 ::1:3350 :::* LISTEN 3038/xrdp-sesman
tcp6 0 0 :::22 :::* LISTEN 3955/sshd: /usr/sbi

lsof

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

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

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

lsof -i -P

rsyslog

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

auth.log

которые находятся по адресу

/var/log/auth.log

За этот лог отвечает

rsyslog

поэтому нужно сперва проверить установлена ли эта служба.
Если нет — установите командой

apt-get install rsyslog

Перейдите в /etc/init.d/ и запустите rsyslog командой

service start rsyslog

Остановить, перезапустить и проверить статус можно командами

service stop rsyslog
service restart rsyslog
service status rsyslog

Настроить уровень логов можно в файле

/etc/rsyslog.d/50-default.conf

#
# Some «catch-all» log files.
#
#*.=debug;
# auth,authpriv.none;
# news.none;mail.none -/var/log/debug
#*.=info;*.=notice;*.=warn;
# auth,authpriv.none;
# cron,daemon.none;
# mail,news.none -/var/log/messages

SSH

Чтобы подключиться к удалённой машине по

SSH

нужно, например, знать
IP машины, имя пользователя, пароль

Пример подключения:

ssh andrei@192.168.0.2

Если вы подключаетесь впервые, то получите предупреждение

The authenticity of host ‘192.168.0.2 (192.168.0.2)’ can’t be established.
ECDSA key fingerprint is SHA256:ABCDE/FGHIJKLMNOPQRSTUVWXYZ123456789ABCDEFG.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

Это предупреждение отображается, потому что в файле

known_hosts

, отвечающем за
ивестные хосты нет записи о 192.168.0.2

Файл

known_hosts

находится в директории

/home/$(whoami)/.ssh

Он содержит строки такого вида:

|1|abcdefghijklmnopqrstuvwxyz1=|abcdefghijklmnopqrstuvwxyz1= ecdsa-sha2-nistp256 ABCDEFGHJKLMNOPQRSTUVWXYZABCDEFGHJKLMNOPQRSTUVWXYZABCDEFGHJKLMNOP+ABCDEFGHJKLMNOPQRS/ABCDEFGHJKLMNOPQRSTUVWXYZABCDEFGHJKLMNOPQRSTUVWXYZABCD=

После того как вы выберете
yes вы увидите сообщение

Warning: Permanently added ‘192.168.0.2’ (ECDSA) to the list of known hosts.
ssh_dispatch_run_fatal: Connection to 192.168.0.2 port 22: Broken pipe

А в файле

known_hosts

появится новая запись

Если вы подключаетесь к хосту не в первый раз

ssh andrei@192.168.0.2

Нужно будет ввести пароль

andrei@192.168.0.2’s password:

После успешного ввода может появиться сообщение о последнем логине

Last login: Wed Jun 06 17:55:40 2022

traceroute

Чтобы установить traceroute выполните

sudo apt-get install traceroute

Список сетевых подключений

Чтобы изучить кто подключен к машине можно использовать netstat

sudo netstat -tupn

Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 10.1.102.72:22 10.1.54.137:33010 ESTABLISHED 4054/sshd: andrei [
udp 0 0 10.1.102.72:68 10.1.103.252:67 ESTABLISHED 709/NetworkManager
udp 0 0 10.15.252.122:68 10.15.255.252:67 ESTABLISHED 709/NetworkManager

Первая строка — это моё подключние на хост по

SSH

ping

Чтобы пользоваться ping нужно установить iputils-ping

sudo apt install -y iputils-ping

Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
The following additional packages will be installed:
libcap2-bin libpam-cap
The following NEW packages will be installed:
iputils-ping libcap2-bin libpam-cap
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 76.8 kB of archives.
Get:1 http://archive.ubuntu.com/ubuntu jammy/main amd64 libcap2-bin amd64 1:2.44-1build3 [26.0 kB]
Get:2 http://archive.ubuntu.com/ubuntu jammy/main amd64 iputils-ping amd64 3:20211215-1 [42.9 kB]
Get:3 http://archive.ubuntu.com/ubuntu jammy/main amd64 libpam-cap amd64 1:2.44-1build3 [7932 B]
Fetched 76.8 kB in 0s (221 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package libcap2-bin.
(Reading database … 4395 files and directories currently installed.)
Preparing to unpack …/libcap2-bin_1%3a2.44-1build3_amd64.deb …
Unpacking libcap2-bin (1:2.44-1build3) …
Selecting previously unselected package iputils-ping.
Preparing to unpack …/iputils-ping_3%3a20211215-1_amd64.deb …
Unpacking iputils-ping (3:20211215-1) …
Selecting previously unselected package libpam-cap:amd64.
Preparing to unpack …/libpam-cap_1%3a2.44-1build3_amd64.deb …
Unpacking libpam-cap:amd64 (1:2.44-1build3) …
Setting up libcap2-bin (1:2.44-1build3) …
Setting up libpam-cap:amd64 (1:2.44-1build3) …
debconf: unable to initialize frontend: Dialog
debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm
line 78.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: (Can’t locate Term/ReadLine.pm in @INC (you may need to install the Term::ReadLine module) (@INC contains: /etc/perl /usr/local/lib/x86_6
4-linux-gnu/perl/5.34.0 /usr/local/share/perl/5.34.0 /usr/lib/x86_64-linux-gnu/perl5/5.34 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl-base /us
r/lib/x86_64-linux-gnu/perl/5.34 /usr/share/perl/5.34 /usr/local/lib/site_perl) at /usr/share/perl5/Debconf/FrontEnd/Readline.pm line 7.)
debconf: falling back to frontend: Teletype
Setting up iputils-ping (3:20211215-1) …

Затем можно пользоваться командой ping и пинговать по IP

ping 10.15.253.191

PING 10.15.253.191 (10.15.253.191) 56(84) bytes of data.
64 bytes from 10.15.253.191: icmp_seq=1 ttl=63 time=0.996 ms
64 bytes from 10.15.253.191: icmp_seq=2 ttl=63 time=0.944 ms
64 bytes from 10.15.253.191: icmp_seq=3 ttl=63 time=0.741 ms

Или по доменному имени

ping urn.su

PING urn.su (87.236.16.134) 56(84) bytes of data.
64 bytes from ssl.talon.beget.com (87.236.16.134): icmp_seq=1 ttl=53 time=34.4 ms
64 bytes from ssl.talon.beget.com (87.236.16.134): icmp_seq=2 ttl=53 time=47.9 ms
64 bytes from ssl.talon.beget.com (87.236.16.134): icmp_seq=3 ttl=53 time=54.0 ms

Похожие статьи

Настройка сети
Ubuntu
ip
Добавить сетевой интерфейс
etc/hosts
Firewall
iftop: Мониторинг сети
nethogs: Мониторинг сети
tc: Контроль за трафиком
iperf: Измерение скорости сети
Сгенерировать UID для интерфейса
Bash
SCP: обмен файлами;
SSH: удалённый доступ
Сокеты
C++

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Как изменить школьную программу
  • Как изменить школьное образование
  • Как изменить школу на я классе
  • Как изменить школу на мос ру
  • Как изменить шкафы на кухне

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии