Настройки локальной сети
Отредактируйте файл конфигурации netplan который находится в директории :
sudo vim /etc/netplan/00-installer-config.yaml
Здесь придётся прописать всё ручками, если у вас ещё нет доступа по SSH. У меня этот файл уже редактировался, мне необходимо изменить только IP адрес.
Основные настройки:
- addresses — ip адрес который будет назначен вашей сетевой карте.
- gateway4 — ip адрес вашего роутера.
- nameservers — DNS сервера. Первый — наш роутер.
- search — домен в котором будет произведен поиск. Домен можно настроить при помощи DNS сервера
Мои настройки:
network: ethernets: enp0s3: addresses: - 192.168.0.105/24 gateway4: 192.168.0.1 nameservers: addresses: optional: true version: 2 renderer: networkd
После редактирования файла: -> -> -> .
Если есть необходимость передать управление сетевыми устройствами утилите NetworkManager:
network: version: 2 renderer: NetworkManager
Настройка статического IP — адреса на сервере Ubuntu 20.04
Начиная с Ubuntu 17.10 и более поздних версий, сетевое взаимодействие контролируется функцией Netplan. Файлы конфигурации для Netplan находятся в каталоге и написаны на языке YAML. В этом каталоге вы найдете файлы конфигурации YAML с пометкой либо, либо .
Однако, если вы используете облачный экземпляр Ubuntu, то есть вероятность того, что он управляется cloud-init. Который автоматически присваивает ему IP адрес с помощью протокола DHCP. Прежде чем мы продолжим, вам необходимо отключить облачную инициализацию. Для этого откройте файл конфигурации в каталоге
Установите «network» в положение «disabled«.
Сохраните изменения и завершите работу. Затем перейдите к файлу конфигурации Netplan. В моем случае у меня есть файл .
Как настроить статический IP адрес в Ubuntu
В файле конфигурации мы видим директиву «network, которая содержит 2 элемента. Первый — это «ethernets«, который определяет сетевой интерфейс, а второй-версия средства визуализации, которое является «systemd-networkd«. Для экземпляров без графического интерфейса и NetworkManager для рабочего стола Ubuntu ( с графическим интерфейсом).
Файл конфигурации «network»
Нам требуется установить значение «dhcp4» на «no«, чтобы отключить протокол DHCP, и указать статический IP-адрес интерфейса следующим образом.
Чтобы назначить статический IP-адрес интерфейсу , измените файл следующим образом:
- Укажите статический IP адрес сервера в разделе : укажите IPv4 адрес, который будет назначен сетевому интерфейсу.
- Далее укажите шлюз.
- В разделе укажите DNS или IP — адреса серверов имен. Мы указали DNS Google, который имеет адрес 8.8.8.8 и IP-адрес маршрутизатора.
Настройка статического IP Ubuntu Linux
Сохраните файл YAML и выйдите. Чтобы применить внесенные изменения, выполните команду:
Вы можете использовать команду ifconfig или ip, чтобы убедиться, что ваш сетевой интерфейс настроен на использование статического IP-адреса, настроенного несколько минут назад.
Проверка сетевого интерфейса командой ifconfig
Кроме того, вы можете использовать команду Показать IP-маршрут для отображения новых маршрутов в вашей системе.
Команда ip route show
Отлично! Мы успешно настроили статический IP-адрес на сервере Ubuntu в терминале. Давайте теперь посмотрим как вы можете сделать то же самое на рабочем столе Ubuntu 20.04
WiFi
Для подключения к беспроводной сети задаем следующие настройки:
network:
version: 2
renderer: networkd
wifis:
wlp2s0b1:
dhcp4: no
dhcp6: no
addresses: [192.168.2.10/24]
gateway4: 192.168.2.1
nameservers:
addresses:
access-points:
<имя WiFi сети (SSID)>:
password: wifi_password
* где:
- wifis — определяет настойки для WiFi.
- wlp2s0b1 — настройка для беспроводного сетевого адаптера.
- dhcp4, dhcp6 — включает или отключает автоматическое получение IP-адреса.
- addresses, gateway4, nameservers — настройка сети (IP-адрес, шлюз, сервер DNS).
- access-points — настройка для подключения к беспроводной сети.
- <имя WiFi сети (SSID)> — имя беспроводной сети, к которой будем подключаться.
- password — пароль для подключения к беспроводной сети.
Настройка кэширующего прокси-сервера Squid3
На заре своего развития основным назначением прокси-сервера Squid было кэширование трафика, сегодня, когда безлимитный интернет стал нормой жизни, эти возможности отходят на второй план, но остаются достаточно актуальными.
Squid поддерживает кэширование двух типов, в оперативной памяти и на диске. Сегодня можно встретить рекомендации отказаться от дискового кэша, мол проще скачать объект заново, чем искать его на диске. Однако мы считаем, что разумный размер дискового кэша при большом количестве клиентов позволяет эффективно использовать канал за счет хранения в кэше статических элементов: картинок, скриптов, CSS-файлов для часто посещаемых ресурсов.
Сразу предостережем от распространенной ошибки — использования для хранения кэша старых медленных дисков и выделения под кэш значительного пространства. В этом случае эффект будет прямо противоположен ожиданиям, время поиска объекта на диске при большой нагрузке будет занимать значительно больше времени, чем его повторное скачивание.
Но все преимущества Squid раскрываются тогда, когда появляется необходимость тонкой фильтрации трафика, здесь богатые возможности позволяют реализовывать самые разнообразные схемы, которые просто невозможно рассмотреть в рамках одного материала.
Для установки squid выполните команду:
get
Перейдем к настройкам. Для новичка конфигурационный файл squid может показаться излишне сложным, на самом деле большую часть его занимают подробные комментарии и примеры. Поэтому мы пойдем по файлу от начала к концу, указывая какие строки надо добавить или изменить. Откроем файл конфигурации /etc/squid3/squid.conf и перейдем к указанию группы доступа (acl) для локальной сети. Раскомментируем и исправим или добавим ниже строку:
acl192.168.31.024
Затем, спускаясь далее по конфигурационному файлу найдем секцию отвечающую за правила доступа и убедимся, что она содержит следующие правила:
http_access
http_access
http_accessall
Данная секция разрешает доступ для клиентов локальной сети, собственно сервера и запрещает всем остальным.
Теперь укажем порт, интерфейс и режим работы прокси-сервера.
http_port.168.31.1:3128intercept
Параметр intercept указывает, что прокси работает в прозрачном режиме, т.е. не требует прямого указания прокси на клиентах.
Перейдем к указанию параметров кэша. Зададим доступный объем памяти и укажем максимальный объем кэшированного объекта в памяти:
1024
in512
При задании этих параметров исходите из доступной памяти сервера, но учтите, что кэш в памяти начинает эффективно работать только после «прогрева» и будет сброшен при перезагрузке или выключении сервера.
После чего укажем размер дискового кэша и его расположение:
var204816256
Следующий параметр задает максимальный размер объекта в дисковом кэше:
Далее по файлу укажем место хранения логов и количество ротаций:
logloglog
31
В нашем случае логи хранятся 31 день, указывая это значение исходите из размеров лога и свободного места на диске, в любом случае этот параметр можно всегда изменить.
Остальные параметры оставляем без изменений, сохраняем файл и перезапускаем squid:
Затем в /etc/nat добавляем правило заворачивающее http-трафик на squid:
iptables192.168.31.024808080192.168.31.1:3128
Сохраняем изменения, перезагружаем сервер.
Обращаем ваше внимание, что squid3 в прозрачном режиме, в отличие от предыдущей версии, не принимает соединения, если в настройках прямо указано использование прокси
В этом случае вы получите сообщение, что доступ запрещен:
Как видим, настройка роутера на современной платформе, несмотря на отличия, остается весьма простой и доступна для повторения широкому кругу читателей. В наших будущих материалах мы также будем принимать за основу роутер, настроенный именно по данному материалу, в тоже время с данным роутером будут работать все решения, опубликованные нами ранее, хотя для некоторых из них могут понадобиться незначительные корректировки.
Настроить DHCP-клиент через среду рабочего стола Ubuntu
Вы также можете использовать другую виртуальную машину с Ubuntu 20.04 Desktop в качестве DHCP-клиента. В Ubuntu метод конфигурации по умолчанию установлен как DHCP. Если он не берет IP-директор от DHCP-сервера, измените настройку IPV4 в вашей сети. Нажмите, перейдите в «Настройки» и перейдите в настройки проводной или беспроводной сети. В вашей системе должно появиться следующее окно:
Установите всю конфигурацию IPV4, как показано на скриншоте выше.
Теперь отобразите сведения о сети, щелкнув вкладку «Подробности» следующим образом:
Проверьте конфигурацию, выполнив следующую команду:
Вы увидите, что IP-адрес назначен сетевому интерфейсу.
Вы также можете использовать хост-компьютер в своей системе в качестве DHCP-клиента. Однако, чтобы получить IP-адрес, не перезагружайте хост-компьютер, потому что в этом случае Virtualbox будет отключен, поэтому в системе не будет запущен DHCP.
Важно отметить, что если вы используете мобильные устройства или хост-машины в качестве DHCP-клиента, скорее всего, они уже подключены к этой сети. Однако они будут запрашивать у DHCP-сервера тот же IP-адрес, который был выделен ранее. Однако, если IP-адрес не попадает в указанный вами диапазон, тогда маршрутизатору будет отправлен запрос
Однако, если IP-адрес не попадает в указанный вами диапазон, тогда маршрутизатору будет отправлен запрос.
Основы использования Netplan
Все конфигурационные файлы Netplan находятся в папке /etc/netplan/. Во время запуска службы, она преобразовывает свою конфигурацию в конфигурацию той службы, которая будет управлять сетью и помещает её в каталог /run/. По умолчанию в Ubuntu есть только один конфигурационный файл со следующим содержимым:
Это означает, что управление всей сетью передаётся утилите NetworkManager. Чтобы разобраться, что это означает, давайте рассмотрим синтаксис конфигурационного файла.
1. Синтаксис конфигурации Netplan
Новичкам синтаксис конфигурационного файла Netplan может показаться запутанным, но разобраться в нём вполне можно. Он чем-то напоминает JSON, но не имеет таких жёстких ограничений:
поле0 поле1 значение поле2 — элемент1 — элемент2 — элемент3
Имя поля и его значение разделяется двоеточием. В качестве значения поля можно передавать не только текстовое или числовое значение, но и другое поле, несколько полей или список значений. При передаче списка каждый новый элемент списка должен начинаться с дефиса. Табуляции использовать нельзя. Отступы используются для указания структуры. Например, из примера видно, что поле1 и поле2 относятся к полю0. Это всё, что касается общего синтаксиса, теперь про Netplan:
network version 2 renderer программа_бэкенд вид_интерфейса имя_интерфейса параметр значение
Первые две строчки конфигурации стандартны. Первая указывает, что мы будем иметь дело с сетью, а вторая указывает версию стандарта конфигурации, которая будет использоваться. Их лучше не трогать.
- renderer — указывает программу, для которой будут преобразоваться ваши настройки. На данный момент поддерживаются только network-manager и systemd-networkd;
- вид_интерфейса — вид сетевых интерфейсов, которые вы будете настраивать в этой секции. Они делятся на физические: ethernets (проводные), wifis (беспроводные) и виртуальные: vlans , bonds, bridges.
- имя_интерфейса — имя сетевого интерфейса в системе, например enp3s0 или eth0;
- параметры — настройки, с помощью которых указывается, как нужно подключаться к сети.
2. Параметры Netplan
Мы разобрались с основным синтаксисом, далее разберём команды, с помощью которых мы будем настраивать сеть:
- renderer — программа для обработки конфигурации;
- dhcp4 — получение IPv4 адреса по DHCP;
- dhcp6 — получение IPv6 адреса по DHCP;
- dhcp-identifier — если передать значение «mac», то будет использоваться MAC-адрес в качестве идентификатора DHCP;
- addresses — добавляет статические адреса к интерфейсу, можно несколько;
- gateway4 — указывает шлюз IPv4;
- gateway6 — указывает шлюз IPv6;
- nameservers — указывает DNS-серверы;
- macaddress — устанавливает новый MAC-адрес;
- routes — позволяет настроить маршруты таблицы маршрутизации;
- routing-policy — дополнительная настройка маршрутов, для IP или подсети;
- access-points — список точек доступа для Wi-Fi;
- password — пароль для точки доступа Wi-Fi;
- mode — режим работы сетевой карты Wi-Fi.
3. Команды Netplan
Синтаксис самой команды netplan очень прост:
netplan опции команда
В качестве команды можно передать одну из команд:
- try — попробовать применить конфигурацию с возможностью отмены;
- apply — применить конфигурацию;
- generate — проверка текущей конфигурации и запись на диск;
- config — записать текущую конфигурацию сети в YAML.
Настройка mtu на интерфейсе
Параметр mtu нужно менять, если вы пользуетесь индивидуальной защитой от DDoS. В стандарте Ethernet TCP-пакеты разбиты на кадры объемом 1500 байт, но при передаче через GRE-тоннель маршрутизаторы дописывают к кадрам свои 24 байта. Принимающая система оказывается не готова к кадру размером 1524 байт, поэтому мы изменим параметр mtu на интерфейсе, уменьшив его до 1476 байт, чтобы принимающая система спокойно восприняла итоговый кадр в 1500 байт.
Дописываем mtu в конфигурационный файл /etc/netplan/50-cloud-init.yaml сразу после имени интерфейса, например:
ens3: mtu: 1476 addresses: - 185.185.68.210/22
Важно соблюдать количество пробелов как в остальном файле. После чего перезагружаем сетевую службу командой netplan apply
После чего перезагружаем сетевую службу командой netplan apply.
Редактируем файл /etc/network/interfaces, добавляя параметр вслед за описанием интерфейса:
auto ens3 iface ens3 inet static mtu 1476 address 123.123.123.123
Перезагружаем сеть командой systemctl restart networking.
Вносим в файл /etc/sysconfig/network строку:
MTU=1476
И перезагружаем сетевую службу: systemctl restart network.
Назначение IP-адресов разных классов
Существует пять классов доступных диапазонов IP, а именно: класс A, класс B, класс C, класс D и класс E. Обычно используются классы A, B и C.
Класс сети | Диапазон адресов | Поддерживает |
---|---|---|
Класс A | 1.0.0.1 — 126.255.255.254 | 16 миллионов хостов в каждой из 127 сетей. |
Класс B | 128.1.0.1 — 191.255.255.254 | 65 000 хостов в каждой из 16 000 сетей. |
Класс С | 192.0.1.1 — 223.255.254.254 | 254 хоста в каждой из 2 миллионов сетей. |
Класс D | 224.0.0.0 — 239.255.255.255 | Мультикаст |
Класс E | 240.0.0.0 — 254.255.255.254 | Зарезервировано для будущего использования или для целей исследований и разработок. |
Как вы могли заметить, в этой статье мы использовали адреса сетей класса C.
Попробуем назначить IP-адрес из другого класса сетей , например, из диапазона класса A. Возможно ли это? Конечно да.
Просто добавьте выбранный IP-адрес в файл конфигурации сетевой карты.
Назначение IP-адреса разных классов в системах на основе Ubuntu/Debian
В системах на базе DEB отредактируйте файл /etc/network/interfaces
$ sudo nano /etc/network/interfaces
Добавьте дополнительный IP-адрес:
iface enp0s3 inet static address 10.0.0.105/16
Сохраните и закройте файл.
Выполните следующую команду, чтобы изменения вступили в силу:
$ sudo ifdown enp0s3 && sudo ifup enp0s3
Проверьте, был ли добавлен новый IP, используя команду:
$ ip addr
Пример вывода команды
Пропингуем новый IP-адрес:
$ sudo ping -c 3 10.0.0.105
Пример вывода
PING 10.0.0.105 (10.0.0.105) 56(84) bytes of data. 64 bytes from 10.0.0.105: icmp_seq=1 ttl=64 time=0.042 ms 64 bytes from 10.0.0.105: icmp_seq=2 ttl=64 time=0.070 ms 64 bytes from 10.0.0.105: icmp_seq=3 ttl=64 time=0.055 ms --- 10.0.0.105 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2000ms rtt min/avg/max/mdev = 0.042/0.055/0.070/0.014 ms
Таким образом, мы можем добавить несколько IP-адресов к одной сетевой карте в Ubuntu, Debian и их производных, таких как Linux Mint, Elementary OS и т.д.
Назначение IP-адреса разных классов в системах на базе CentOS / RHEL / Scientific Linux
Отредактируем файл конфигурации сетевой карты:
# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
Добавим новый IP-адрес, как показано ниже
Обратите внимание, что вы должны добавить правильный префикс (маску сети) для каждого диапазона IP-адресов необходимого класса.. Давайте добавим IP-адрес из сети класса А, например 10.0.0.150.
Давайте добавим IP-адрес из сети класса А, например 10.0.0.150.
IPADDR2="10.0.0.150" PREFIX2=16
Убедитесь, что номер IPADDR (IPADDR2) и номер PREFIX (PREFIX2) одинаковы для каждой сети ..0.150.
Сохраните и закройте файл. Перезапустите сетевой сервис, чтобы изменения вступили в силу.
# systemctl restart network
Проверьте новый IP с помощью команды:
# ip addr
Пример вывода команды
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 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: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:80:63:19 brd ff:ff:ff:ff:ff:ff inet 192.168.1.150/24 brd 192.168.1.255 scope global enp0s3 valid_lft forever preferred_lft forever inet 192.168.2.150/24 brd 192.168.255.255 scope global enp0s3 valid_lft forever preferred_lft forever inet 10.0.0.150/16 brd 10.255.255.255 scope global enp0s3 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fe80:6319/64 scope link valid_lft forever preferred_lft forever
Пропингуем новый IP:
# ping -c 3 10.0.0.150
Пример вывода
PING 10.0.0.150 (10.0.0.150) 56(84) bytes of data. 64 bytes from 10.0.0.150: icmp_seq=1 ttl=64 time=0.097 ms 64 bytes from 10.0.0.150: icmp_seq=2 ttl=64 time=0.100 ms 64 bytes from 10.0.0.150: icmp_seq=3 ttl=64 time=0.105 ms --- 10.0.0.150 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 1999ms rtt min/avg/max/mdev = 0.097/0.100/0.105/0.012 ms
Новый IP-адрес добавлен, и он работает. Не нужно покупать новую карту, делать сложные настройки маршрутизатора или что-то еще. Используя этот метод, мы можем легко добавить несколько разных IP за считанные минуты.
Прослушиваемые порты
Посмотреть к чему по умолчанию назначен определённый порт можно в файле
/etc/services
Например, порт 636
cat /etc/services | grep 636
ldaps 636/tcp # LDAP over SSL
ldaps 636/udp
ss
Посмотреть список открытых портов можно утилитой ss
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 :3350 :*
tcp LISTEN 0 128 :631 :*
tcp LISTEN 0 2 *:3389 *:*
Если нужно проверить используется ли определённый порт, например 5000
ss -na | grep :5000
Если вывод пуст, значит порт не используется
Чтобы узнать какая программа слушает определённый порт нужно предварительно установить один из
инструментов:
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
Настройка статического IP-адреса на сервере Ubuntu
В Ubuntu 20.04 система идентифицирует сетевые интерфейсы, используя «предсказуемые имена сетевых интерфейсов».
Первым шагом к настройке статического IP-адреса является определение имени интерфейса Ethernet, который вы хотите настроить. Для этого используйте команду , как показано ниже:
Команда печатает список всех доступных сетевых интерфейсов. В этом примере имя интерфейса :
Файлы конфигурации Netplan хранятся в каталоге . Вероятно, вы найдете в этом каталоге один или несколько файлов YAML. Имя файла может отличаться от настройки к настройке. Обычно файл называется , или , но в вашей системе он может быть другим.
Если ваш облачный экземпляр Ubuntu снабжен cloud-init, вам необходимо отключить его. Для этого создайте следующий файл:
/etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
Чтобы назначить статический IP-адрес в сетевом интерфейсе, откройте файл конфигурации YAML в текстовом редакторе :
/etc/netplan/01-netcfg.yaml
Прежде чем изменять конфигурацию, давайте кратко объясним код.
Каждый файл Netplan Yaml начинается с ключа, который содержит как минимум два обязательных элемента. Первый обязательный элемент — это версия формата конфигурации сети, а второй — тип устройства. Типом устройства может быть , , или .
В приведенной выше конфигурации также есть строка, показывающая тип средства . , если вы установили Ubuntu в серверном режиме, средство визуализации настроено на использование в качестве серверной части.
Под типом устройства ( ) вы можете указать один или несколько сетевых интерфейсов. В этом примере у нас есть только один интерфейс который настроен для получения IP-адресации от DHCP-сервера .
Чтобы назначить статический IP-адрес интерфейсу , отредактируйте файл следующим образом:
- Установите DHCP на .
- Укажите статический IP-адрес. В разделе вы можете добавить один или несколько IP-адресов IPv4 или IPv6, которые будут назначены сетевому интерфейсу.
- Укажите шлюз.
- В разделе установите IP-адреса серверов имен.
/etc/netplan/01-netcfg.yaml
При редактировании файлов YAML убедитесь, что вы следуете стандартам отступа кода YAML. Если синтаксис неправильный, изменения не будут применены.
После этого сохраните файл и примените изменения, выполнив следующую команду:
Проверьте изменения, набрав:
Это оно! Вы назначили статический IP-адрес своему серверу Ubuntu.
Настройка статического IP
Вы установили сервер и во время установки указали какие-то сетевые параметры, или не указали, не важно. Но сейчас вы решили, что вам нужно назначить статический ip (static ip) адрес. Воспользуемся для этого утилитой ip
Сначала посмотрим список всех сетевых интерфейсов:
Воспользуемся для этого утилитой ip. Сначала посмотрим список всех сетевых интерфейсов:
У меня в системе 1 сетевой интерфейс eth0 и он каким-то образом уже сконфигурирован. Назначим ему еще один статический адрес:
Этот адрес будет добавлен к уже существующему адресу. Проверим это:
Теперь сервер будет доступен по обоим адресам. Текущая настройка сохранится только до перезагрузки сервера. Чтобы она применялась во время загрузки, нужно либо каким-то образом добавить команду на изменение настроек в автозагрузку, например в /etc/rc.local, но это будет костыль. Правильнее отредактировать файл, который отвечает за сетевые настройки в debian — /etc/network/interfaces. Для того, чтобы назначить постоянный статический ip адрес, его нужно привести к следующему виду:
auto | указанный интерфейс необходимо запускать автоматически при загрузке системы |
iface | интерфейс eth0 находится в диапазоне адресов IPv4 со статическим ip |
address | статический ip адрес |
gateway | шлюз по-умолчанию |
netmask | маска сети |
Для проверки перезагружаем сервер и смотрим, все ли в порядке с настройкой статического ip адреса. Если вам нужно сменить ip адрес в debian, то вы можете временно изменить его с помощью команды ip, либо постоянно, отредактировав параметр address в файле сетевых настроек interfaces.
Определение DNS-сервера
Другим параметром конфигурации, который может быть задан DHCP-сервером своему клиенту, является определение DNS-сервера. Если вы хотите, чтобы ваши клиенты использовали DNS-сервер с IP-адресом 8.8.8.8 и 10.1.1.1, вы можете сделать это, включив опцию domain-name-servers в конфигурационный файл DHCP.
default-lease-time 600; max-lease-time 7200; subnet 10.1.1.0 netmask 255.255.255.0 { range 10.1.1.3 10.1.1.254; option domain-name-servers 10.1.1.1, 8.8.8.8; } subnet 192.168.0.0 netmask 255.255.0.0 { } subnet 10.1.1.0 netmask 255.255.255.0 { range 10.1.1.3 10.1.1.254; option routers 10.1.1.1; }
multiple interfaces example
Interface
nano -w /etc/network/interfaces
auto lo iface lo inet loopback mapping hotplug script grep map eth1 iface eth1 inet dhcp auto eth0 iface eth0 inet static address 10.152.187.1 netmask 255.255.255.0 auto wlan0 iface wlan0 inet static address 192.168.1.1 netmask 255.255.255.0 up /sbin/iwconfig wlan0 mode TTTTTT && /sbin/iwconfig wlan0 enc restricted && /sbin/iwconfig wlan0 key XXXXXXXX && /sbin/iwconfig wlan0 essid SSSSSSSS auto eth1
nano -w /etc/default/isc-dhcp-server
INTERFACES="wlan0 eth0"
Configure Subnet
nano -w /etc/dhcp3/dhcpd.conf
ddns-update-style none; log-facility local7; subnet 192.168.1.0 netmask 255.255.255.0 { option routers 192.168.1.1; option subnet-mask 255.255.255.0; option broadcast-address 192.168.1.255; option domain-name-servers 194.168.4.100; option ntp-servers 192.168.1.1; option netbios-name-servers 192.168.1.1; option netbios-node-type 2; default-lease-time 86400; max-lease-time 86400; host bla1 { hardware ethernet DD:GH:DF:E5:F7:D7; fixed-address 192.168.1.2; } host bla2 { hardware ethernet 00:JJ:YU:38:AC:45; fixed-address 192.168.1.20; } } subnet 10.152.187.0 netmask 255.255.255.0 { option routers 10.152.187.1; option subnet-mask 255.255.255.0; option broadcast-address 10.152.187.255; option domain-name-servers 194.168.4.100; option ntp-servers 10.152.187.1; option netbios-name-servers 10.152.187.1; option netbios-node-type 2; default-lease-time 86400; max-lease-time 86400; host bla3 { hardware ethernet 00:KK:HD:66:55:9B; fixed-address 10.152.187.2; } }
Check Route
ip route
192.168.1.0/24 dev wlan0 scope link 82.16.TT.0/24 dev eth1 scope link 10.152.187.0/24 dev eth0 scope link default via 82.16.TT.UU dev eth1
Установка статического IP-адреса в Ubuntu через файл конфигурации
Проблема со всеми вышеперечисленными методами в том, что где-то не задокументировано что-либо. Совершенно не рекомендуется вносить изменения таким образом на сервере. Рекомендуемый способ — отредактировать файл конфигурации. Таким образом, все изменения документируются, и вы можете просто отменить предыдущее изменение, добавив строки в качестве комментариев.
файл конфигурации / и т. д. / сеть / интерфейс. Для редактирования этого файла вам необходимы права администратора. Но перед этим нам понадобится множество значений, таких как маска подсети, адрес шлюза, широковещательный адрес и имя коммутатора. просто беги ifconfig -a в Терминале, чтобы получить имя адаптера, маску подсети и значения широковещательного адреса.
Для адреса шлюза выполните следующую команду в Терминале.
route -n
Эта команда покажет вам таблицу IP-маршрутизации. Первая запись в таблице — это адрес шлюза. В моем случае первая запись 10.0.0.1 Что, в свою очередь, является адресом шлюза.
Теперь нам нужно открыть файл конфигурации, чтобы внести изменения. Для этого выполните следующую команду.
sudo vi /etc/network/interface
Если вы не знакомы с редактором и элементами управления vi , вы также можете использовать Gedit. Gedit Это графический интерфейс для редактирования файлов. Чтобы открыть файл в Gedit Выполните следующую команду
sudo gedit /etc/network/interface
После открытия файл должен быть пустым или содержать предыдущие конфигурации. Если конфиги были выбраны ранее, просто закомментируйте их вместо удаления. Приставляя все строки к префиксу «#», вы делаете строки бесполезными. Теперь нам потребуются имя адаптера, маска подсети и широковещательный адрес, о которых мы упоминали ранее.
Нажмите на «i«Если вы используете vi для доступа к режиму вставки. Напишите следующий код и замените значения на свои собственные.
auto enp0s3 iface enp0s3 inet static address 10.0.0.6 netmask 255.255.255.0 network 10.0.0.1 broadcast 10.0.0.255 gateway 10.0.0.1
Но прежде чем вводить эти строки, нужно разобраться в коде. «авто enp0s3Он автоматически перезапустит интерфейс при загрузке системы. «айфейс enp0s3Это суффикс для определения интерфейса. enp0s3, «инет«IPv4» означает «Пока»инет статическийозначает определение статического IP-адреса для указанного сетевого адаптера. Остальные строки говорят сами за себя.
Если вы хотите снова переключиться на DHCP, вы можете изменить его на «инет dhcp».
После успешного добавления кода нажмите Esc и введите «: Wqчтобы сохранить изменения. Теперь нам нужно перезапустить сеть, чтобы изменения вступили в силу. Выполните следующую команду, чтобы перезапустить сетевой адаптер.
sudo service network-manager restart
После перезапуска изменения вступят в силу. Чтобы просмотреть изменения, запустите Ifconfig снова и увидеть следующие значения. Он должен соответствовать значениям, указанным в файле конфигурации.
Если вы хотите внести изменения, сделайте комментарии к предыдущим строкам и добавьте изменения.
Настройка DNS
Служба DNS используется для преобразования доменных имен сайтов в IP-адреса. При получении IP-адреса автоматически через DHCP мы используем правильные DNS-серверы, но если мы выбрали статический IP, то DNS можно и не получить, поэтому придётся сделать всё вручную.
Если вам нужно настроить DNS так, чтобы он не сбивался после перезагрузки, необходимо использовать систему настройки сети Ubuntu. Для этого откройте файл /etc/network/interfaces и добавьте в него строчку после директив для нужного интерфейса:
dns-nameservers 8.8.8.8 4.4.4.4
Здесь 8.8.8.8 и 4.4.4.4 это IP-адреса DNS серверов, можете заменить их на свои. И можно использовать один, а не два. Дальше сохраните файл и перезапустите сеть:
sudo service networking restart
Если же вам нужно настроить DNS только для этого сеанса, то добавьте строчку в /etc/resolv.conf
sudo vi /etc/resolv.conf
nameserver 8.8.8.8 nameserver 4.4.4.4
После сохранения файла сеть будет работать полностью так, как нужно. Но последний способ пригоден только до перезагрузки, поскольку файл /etc/resolv.conf генерируется автоматически.
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/)?
Это предупреждение отображается, потому что в файле
known_hosts
, отвечающем за
ивестные хосты нет записи о 192.168.0.2
Файл
known_hosts
находится в директории
Он содержит строки такого вида:
После того как вы выберете
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
Заключение
В данном обзоре мы рассмотрели первоначальную настройку и оптимизацию Ubuntu 20.04. Так же рекомендуем ознакомиться со статьей «Как обеспечить безопасность Linux сервера» и другими статьями нашего блога, в котором рассмотрены вопросы администрирования операционных систем и различных приложений. Для наших клиентов облачного VPS хостинга, мы создали готовый шаблон, с помощью которого вы можете установить Ubuntu 20.04 в автоматическом режиме и уже несколько минут приступить к работе. Наша круглосуточная служба технической поддержки поможет с его базовой настройкой, если у вас возникнут сложности.