Handbook:SPARC/Installation/Networking
Автоматическая конфигурация сети
Может быть, всё уже работает?
Если система подключена к сети Ethernet, в которой есть IPv6-маршрутизатор или DHCP-сервер, весьма вероятно, что системная конфигурация сети была выполнена автоматически. Если расширенная настройка не требуется, можно сразу перейти к проверке подключения к Интернету.
Использование DHCP
DHCP (Dynamic Host Configuration Protocol) облегчает настройку сети и позволяет автоматически настраивать различные параметры, включая: IP-адрес, маску сети, маршруты, DNS-сервера, NTP-сервера и так далее.
DHCP требует, чтобы сервер работал в том же Layer 2 (Ethernet) сегменте, что и клиент, запрашивающий аренду. DHCP часто используется в RFC1918 (частных) сетях, а также в сетях провайдеров, чтобы запросить публичный IP-адрес.
Официальный загрузочный носитель Gentoo запускает dhcpcd автоматически, при запуске системы. Этот автозапуск можно пропустить, добавив
nodhcp
в параметры загрузки.Если он ещё не запущен, dhcpcd можно запустить для устройства enp1s0 с помощью команды:
root #
dhcpcd enp1s0
Некоторые сетевые администраторы требуют, чтобы имя узла и домена, назначенное сервером DHCP, использовались самой системой. В этом случае используйте:
root #
dhcpcd -HD enp1s0
Чтобы остановить dhcpcd, можно использовать опцию '-x:
root #
dhcpcd -x
sending signal Term to pid 10831 waiting for pid 10831 to exit
Использование Dhcpcd
Проверка сети
Правильная настройка маршрута default (по умолчанию) критически важна для подключения к Интернету. Конфигурацию маршрута можно проверить с помощью:
root #
ip route
Если default маршрута не существует, Интернет-подключение не будет работать и понадобится дополнительная конфигурация.
Простой тест соединения с Интернетом можно провести утилитой ping:
root #
ping -c 3 1.1.1.1
Лучше всего начать с проверки известного IP-адреса, а не доменного имени. Это поможет отделить проблемы с DNS от проблем с базовым подключением к Интернету.
Исходящий доступ по HTTPS и разрешение доменных имён в DNS можно проверить с помощью:
root #
curl --location gentoo.org --output /dev/null
Если тесты curl (и другие тесты) завершились успешно, можно продолжить установку с подготовки дисков.
Если curl сообщил об ошибке, но ping других серверов в Интернете работает, возможно, стоит настроить DNS.
Если Интернет-подключения и вовсе не было установлено, сначала необходимо получить информацию о сетевых интерфейсах, затем:
- net-setup can be used to assist in network configuration.
- Application specific configuration may be required.
- Manual network configuration can be attempted.
Получение информации о сетевых интерфейсах
Если сеть не работает «из коробки», необходимо выполнить дополнительные шаги, чтобы обеспечить подключение к Интернету. Как правило, первым шагом перечисляются сетевые интерфейсы хоста.
Для чтения и изменения системных настроек сети можно использовать команду ip из пакета sys-apps/iproute2.
Чтобы получить список сетевых интерфейсов и их связи, используйте подкоманду link:
root #
ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 4: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000 link/ether e8:40:f2:ac:25:7a brd ff:ff:ff:ff:ff:ff
Чтобы получить информацию об адресе устройства, используйте подкоманду address:
root #
ip address
link/ether e8:40:f2:ac:25:7a brd ff:ff:ff:ff:ff:ff inet 10.0.20.77/22 brd 10.0.23.255 scope global enp1s0 valid_lft forever preferred_lft forever inet6 fe80::ea40:f2ff:feac:257a/64 scope link valid_lft forever preferred_lft forever
Эта команда выводит информацию для каждого сетевого интерфейса в системе. Первым идёт порядковый номер устройства, затем его название enp1s0.
Если в выводе ifconfig нет интерфейсов, попробуйте использовать ту же команду с параметром
-a
. Это параметр выводит все обнаруженные системой сетевые интерфейсы, независимо от их состояния. Если ifconfig -a не даёт никаких результатов, значит либо аппаратное обеспечение неисправно, либо драйвер для сетевого интерфейса не был загружен в ядро. Обе ситуации не рассматриваются данным Руководством. Обратитесь в #gentoo (webchat) для поддержки.Для единообразия и упрощения, в Руководстве пример главного сетевой интерфейс называется enp1s0.
В результате перехода на предсказуемые имена для сетевых интерфейсов название интерфейса может отличаться от старого соглашения о именовании (eth0). Современные загрузочные носители Gentoo используют префиксы при именовании сетевых интерфейсов, например: eno0, ens1 или enp5s0.
Опционально: Конфигурация для конкретного приложения
Способы ниже обычно не необходимы, но они могут быть полезны в случае, если базовой настройки оказалось недостаточно для подключения к Интернету.
Настройка веб-прокси
Если доступ к Интернету осуществляется через прокси-сервер, необходимо указать настройки прокси во время установки. Указать прокси очень просто: определите переменную, содержащую информацию о прокси-сервере.
Certain text-mode web browsers such as links can also make use of environment variables that define web proxy settings; in particular for the HTTPS access it also will require the https_proxy environment variable to be defined. While Portage will be influenced without passing extra run time parameters during invocation, links will require proxy settings to be set.
В большинстве случаев, достаточно указать переменные с использованием имени сервера. В этом примере мы предположим, что прокси-сервером является proxy.gentoo.org, доступным на порту 8080.
Символы
#
в следующих командах обозначают комментарии. Они используются только для ясности, и их необязательно писать во время запуска команд.Определение HTTP-прокси (для HTTP- и HTTPS-трафика):
root #
export http_proxy="http://proxy.gentoo.org:8080" # Применяется для portage и ссылок
root #
export https_proxy="http://proxy.gentoo.org:8080" # Применяется только для ссылок
Если для HTTP-прокси требуется аутентификация, установить имя пользователя и пароль с помощью следующей команды:
root #
export http_proxy="http://username:password@proxy.gentoo.org:8080" # Применяется для portage и ссылок
root #
export https_proxy="http://username:password@proxy.gentoo.org:8080" # Применяется только для ссылок
Start links using the following parameters for proxy support:
user $
links -http-proxy ${http_proxy} -https-proxy ${https_proxy}
Настройка FTP-прокси:
root #
export ftp_proxy="ftp://proxy.gentoo.org:8080" # Применяется для portage и ссылок
Start links using the following parameter for a FTP proxy:
user $
links -ftp-proxy ${ftp_proxy}
Настройка RSYNC-прокси:
root #
export RSYNC_PROXY="proxy.gentoo.org:8080" # Применяется для portage; ссылки не поддерживают прокси rsync
Альтернатива: использование pppoe-setup для ADSL
If PPPoE is required for Internet access, the Gentoo boot media includes the pppoe-setup script to simplify ppp configuration.
During setup, pppoe-setup will ask for:
- The name of the Ethernet interface connected to the ADSL modem.
- The PPPoE username and password.
- DNS server IPs.
- Whether or not a firewall is needed.
root #
pppoe-setup
root #
pppoe-start
In the event of failure, credentials in /etc/ppp/pap-secrets or /etc/ppp/chap-secrets should be verified. If credentials are correct, PPPoE Ethernet interface selection should be checked.
Альтернатива: использование PPTP
Для обеспечения работы PPTP может использоваться pptpclient, но для него перед использованием требуется дополнительная конфигурация.
Edit /etc/ppp/pap-secrets or /etc/ppp/chap-secrets so it contains the correct username/password combination:
root #
nano /etc/ppp/chap-secrets
При необходимости проверьте /etc/ppp/options.pptp:
root #
nano /etc/ppp/options.pptp
После завершения настройки, запустите pptp (вместе с параметрами, которые могут быть установлены в options.pptp) для подключения к серверу:
root #
pptp <server ipv4 address>
Конфигурация WEP
По возможности избегайте WEP: этот стандарт в плане безопасности почти ничем не лучше открытой сети.
Команда iw доступна только на следующих архитектурах: amd64, x86, arm, arm64, ppc, ppc64 и riscv.
Беспроводные карты (стандарта 802.11) перед использованием необходимо предварительно настроить. Для отображения текущих настроек можно воспользоваться командой iw, вывод которой может быть таким:
root #
iw dev wlp9s0 info
Interface wlp9s0 ifindex 3 wdev 0x1 addr 00:00:00:00:00:00 type managed wiphy 0 channel 11 (2462 MHz), width: 20 MHz (no HT), center1: 2462 MHz txpower 30.00 dBm
Чтобы проверить текущее подключение:
root #
iw dev wlp9s0 link
Not connected.
или
root #
iw dev wlp9s0 link
Connected to 00:00:00:00:00:00 (on wlp9s0) SSID: GentooNode freq: 2462 RX: 3279 bytes (25 packets) TX: 1049 bytes (7 packets) signal: -23 dBm tx bitrate: 1.0 MBit/s
Некоторые беспроводные карты могут иметь имена wlan0 или ra0 вместо wlp9s0. Запустите ip link, чтобы определить правильное имя устройства.
В большинстве случаев, для подключения необходимо только два параметра: ESSID (название беспроводной сети) и ключ WEP (необязательно).
- Сперва удостоверьтесь, что интерфейс включён:
root #
ip link set dev wlp9s0 up
- Чтобы подключиться к открытой сети с именем GentooNode:
root #
iw dev wlp9s0 connect -w GentooNode
- Чтобы подключиться с шестнадцатеричным ключом WEP, добавьте к нему префикс
d:
:
root #
iw dev wlp9s0 connect -w GentooNode key 0:d:1234123412341234abcd
- Чтобы подключиться с ключом ASCII WEP:
root #
iw dev wlp9s0 connect -w GentooNode key 0:some-password
Если в беспроводной сети применяются протоколы WPA или WPA2, то необходимо использовать wpa_supplicant. Больше информации по настройке беспроводной сети в Gentoo Linux можно прочитать в разделе Беспроводная сеть Руководства Gentoo.
Для подтверждения беспроводных настроек используйте iw dev wlp9s0 link. Как только беспроводная сеть заработает, продолжите настройку сетевых параметров, как описано в следующем разделе (Сетевая терминология) или с помощью инструмента net-setup, как описано ранее.
Использование net-setup
In cases where automatic network configuration is unsuccessful, the Gentoo boot media provides scripts to aid in network configuration. net-setup can be used to configure wireless network information and static IPs.
root #
net-setup enp1s0
net-setup задаст несколько вопросов о сетевом окружении. Когда всё будет готово, сетевое подключение должно заработать. Проверьте подключение, как это было показано выше. Если все проверки успешны, поздравляем! Пропустите оставшуюся часть раздела и продолжите с раздела Подготовка дисков.
Network status should be tested after any configuration steps are taken. In the event that configuration scripts do not work, manual network configuration is required.
Интернет и основы IP-адресации
If all of the above fails, the network must be configured manually. This is not particularly difficult, but should be done with consideration. This section serves to clarify terminology and introduce users to basic networking concepts pertaining to manually configuring an Internet connection.
Some CPE (Carrier Provided Equipment) combines the functions of a router, access point, modem, DHCP server, and DNS server into one unit. It's important to differentiate the functions of a device from the physical appliance.
Interfaces and addresses
Network interfaces are logical representations of network devices. An interface needs an address to communicate with other devices on the network. While only a single address is required, multiple addresses can be assigned to a single interface. This is especially useful for dual stack (IPv4 + IPv6) configurations.
For consistency, this primer will assume the interface enp1s0 will be using the address 192.168.0.2.
IP addresses can be set arbitrarily. As a result, it's possible for multiple devices to use the same IP address, resulting in an address conflict. Address conflicts should be avoided by using DHCP or SLAAC.
IPv6 typically uses StateLess Address AutoConfiguration (SLAAC) for address configuration. In most cases, manually setting IPv6 addresses is a bad practice. If a specific address suffix is preferred, interface identification tokens can be used.
Сети и CIDR
Once an address is chosen, how does a device know how to talk to other devices?
IP addresses are associated with networks. IP networks are contiguous logical ranges of addresses.
Classless Inter-Domain Routing or CIDR notation is used to distinguish network sizes.
- The CIDR value, often notated starting with a /, represents the size of the network.
- The formula 2 ^ (32 - CIDR) can be used to calculate network size.
- Once network size is calculated, usable node count must be reduced by 2.
- The first IP in a network is the Network address, and the last is typically the Broadcast address. These addresses are special and cannot be used by normal hosts.
The most common CIDR values are /24, and /32, representing 254 nodes and a single node respectively.
A CIDR of /24 is the de-facto default network size. This corresponds to a subnet mask of 255.255.255.0, where the last 8 bits are reserved for IP addresses for nodes on a network.
The notation: 192.168.0.2/24 can be interpreted as:
- The address 192.168.0.2
- On the network 192.168.0.0
- With a size of 254 (2 ^ (32 - 24) - 2)
- Usable IPs are in the range 192.168.0.1 - 192.168.0.254
- With a broadcast address of 192.168.0.255
- In most cases, the last address on a network is used as the broadcast address, but this can be changed.
Using this configuration, a device should be able to communicate with any host on the same network (192.168.0.0).
Интернет
Once a device is on a network, how does it know how to talk to devices on the Internet?
To communicate with devices outside of local networks, routing must be used. A router is simply a network device that forwards traffic for other devices. The term default route or gateway typically refers to whatever device on the current network is used for external network access.
It's a standard practice to make the gateway the first or last IP on a network.
If an Internet-connected router is available at 192.168.0.1, it can be used as the default route, granting Internet access.
To summarize:
- Interfaces must be configured with an address and network information, such as the CIDR value.
- Local network access is used to access a router on the same network.
- The default route is configured, so traffic destined for external networks is forwarded to the gateway, providing Internet access.
Система доменных имен (DNS)
Remembering IPs is hard. The Domain Name System was created to allow mapping between Domain Names and IP addresses.
Linux systems use /etc/resolv.conf to define nameservers to be used for DNS resolution.
Many routers can also function as a DNS server, and using a local DNS server can augment privacy and speed up queries through caching.
Many ISPs run a DNS server that is generally advertised to the gateway over DHCP. Using a local DNS server tends to improve query latency, but most public DNS servers will return the same results, so server usage is largely based on preference.
Ручная конфигурация сети
Interface address configuration
When manually configuring IP addresses, the local network topology must be considered. IP addresses can be set arbitrarily; conflicts may cause network disruption.
To configure enp1s0 with the address 192.168.0.2 and CIDR /24:
root #
ip address add 192.168.0.2/24 dev enp1s0
The start of this command can be shortened to ip a.
Настройка маршрута по умолчанию
Configuring address and network information for an interface will configure link routes, allowing communication with that network segment:
root #
ip route
192.168.0.0/24 dev enp1s0 proto kernel scope link src 192.168.0.2
This command can be shortened to ip r.
The default route can be set to 192.168.0.1 with:
root #
ip route add default via 192.168.0.1
Конфигурация DNS
Nameserver info is typically acquired using DHCP, but can be set manually by adding nameserver
entries to /etc/resolv.conf.
If dhcpcd is running, changes to /etc/resolv.conf will not persist. Status can be checked with
ps x | grep dhcpcd
.nano is included in Gentoo boot media and can be used to edit /etc/resolv.conf with:
root #
nano /etc/resolv.conf
Lines containing the keyword nameserver
followed by a DNS server IP address are queried in order of definition:
nameserver 9.9.9.9
nameserver 149.112.112.112
nameserver 1.1.1.1
nameserver 1.0.0.1
DNS status can be checked by pinging a domain name:
root #
ping -c 3 gentoo.org
Once connectivity has been verified, continue with Preparing the disks.