Настройка сети в Oracle Linux
В данном посте будет рассказано про базовую настройку сети в операционных сетях на базе ОС Linux. Будут рассмотрены следующие вопросы:
- Файлы, в которых прописываются сетевые настройки
- Настройка сети на примере – связь двух виртуальных машин
В Oracle Enterprise Linux есть несколько способов настройки сети. Она производится либо через пользовательские интерфейсы, которые записывают введенные значения в необходимые конфигурационные файлы либо изменения можно вносить напрямую в необходимые конфигурационные файлы. После внесения любых изменений в файл необходимо перезагрузить ОС, либо перезапустить сервис сети (см. ниже), либо отключить сетевой интерфейс, а затем снова включить его, чтобы изменения вступили в силу. В большинстве систем Linux для этой цели можно использовать команды ifdown интерфейс или ifup интерфейс (см. ниже). Все настройки и файлы, описанные ниже, актуальны для операционной системы Oracle Linux 7.
Файлы, в которых прописываются сетевые настройки
Для начала рассмотрим файл /etc/sysconfig/network. В нем описываются сетевые настройки, касающиеся сетевого имени хоста и шлюза по умолчанию. Сетевое имя хоста прописывается в HOSTNAME, шлюз по умолчанию – в GATEWAY. Редактирование всех сетевых файлов должно осуществляться с привилегированными полномочиями (root или sudo).
[root@dushanbe ~]# cat /etc/sysconfig/network # Created by anaconda NETWORKING=yes HOSTNAME=dushanbe.localdomain GATEWAY=192.168.0.1
Другой важный файл – /etc/sysconfig/network-scripts/ifcfg-интерфейс. В нем прописываются сетевые настройки для адаптера интерфейс (например, ifcfg-enp0s3). В случае, если в системе используется несколько сетевых адаптеров, стоит ожидать дополнительные конфигурационные файлы, для каждого из адаптеров (enp0s4, где en – ethernet, p – номер шины, s – номер слота. Такая наименование действительно для PCI-устройств). Ниже приведен пример конфигурации адаптера ifcfg-enp0s3, использующим DHCP.
[root@dushanbe ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp0s3 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=DHCP DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=enp0s3 UUID=4a28db1f-c330-474b-8cf5-7514362d0e90 DEVICE=enp0s3 ONBOOT=yes
Далее пример конфигурации адаптера ifcfg-enp0s3 со статическим IP-адресом. Для того, чтобы настроить адаптер ifcfg-enp0s3 для работы со статическим IP-адресом, надо с помощью текстового редактора (например, nano или vi) изменить файл /etc/sysconfig/network-scripts/ifcfg-enp0s3. А именно, добавить строки с указанием нужного IP-адреса, маски подсети, шлюза и DNS (IPADDR, PREFIX, GATEWAY, DNS1). Также, необходимо изменить значение параметра BOOTPROTO с dhcp на none. Параметр BOOTPROTO отвечает за то, как интерфейс получит IP-адрес.
[root@dushanbe ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp0s3 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=none DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=enp0s3 UUID=4a28db1f-c330-474b-8cf5-7514362d0e90 DEVICE=enp0s3 ONBOOT=yes IPADDR=192.168.0.7 PREFIX=24 GATEWAY=192.168.0.1 DNS1=192.168.0.1
Файл /etc/hosts содержит информацию, помогающую при локальном преобразовании имен.
[root@dushanbe ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 192.168.0.7 dushanbe.localdomain dushanbe
В файле /etc/resolv.conf находится расположение DNS сервера(ов) для преобразования имен.
[root@dushanbe ~]# cat /etc/resolv.conf # Generated by NetworkManager search localdomain nameserver 192.168.0.1
После всех настроек, необходимо перезапустить интерфейс, чтобы изменения вступили в силу. Делаем это командами ifdown и ifup.
[root@dushanbe ~]# ifdown ifcfg-enp0s3 Device 'enp0s3' successfully disconnected. [root@dushanbe ~]# [root@dushanbe ~]# ifup ifcfg-enp0s3 Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
Альтернативный вариант – перезапуск сервиса сети, отвечающего за сеть:
[root@dushanbe ~]# systemctl restart network
Далее проверяем новые настройки сети командой ifconfig. Команда выведет на экран несколько интерфейсов, нас интересует только лишь наш enp0s3.
[root@dushanbe ~]# ifconfig enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.0.7 netmask 255.255.255.0 broadcast 192.168.0.255 inet6 fe80::4767:7fd1:183b:e491 prefixlen 64 scopeid 0x20<link> ether 08:00:27:49:c1:84 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 69 bytes 9226 (9.0 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 0 (Local Loopback) RX packets 68 bytes 6868 (6.7 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 68 bytes 6868 (6.7 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255 ether 52:54:00:c5:33:6e txqueuelen 0 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Настройка сети на примере – связь двух виртуальных машин
Далее, настроим сетевое соединение между двумя виртуальными машинами. Для этого необходимо проделать вышеописанные настройки сетевых интерфейсов на двух виртуальных машинах, распределив между ними IP-адреса и маски подсети так, чтобы они оказались в одной логической подсети.
После того, как адресация и интерфейсы машин в ОС настроены, перейдем к настройке непосредственного соединения виртуальных машин через интерфейс гипервизора – в нашем случае, используя настройки Virtual Box.
Как видно по скриншотам ниже, надо переключить тип соединения в режим “Сетевой мост”. Сделав это в настройках обеих машин, они получат возможность увидеть друг друга в сети.
Изменение типа подключения с NAT на Сетевой мост для первой машины.
Изменение типа подключения с NAT на Сетевой мост для второй машины.
Проверка сетевых настроек командой ifconfig.
Проверка связи командой ping. Обе машины видят друг друга в локальной сети.