Linux mint как шлюз

Linux mint как шлюз

В данной статье речь пойдет о сетевых настройках в операционных системах по управлением Debian, Ubuntu, Linux Mint, Knoppix.

Debian — операционная система на основе Linux, состоящая из свободного ПО с открытым исходным кодом. На основе этого дистрибутива выпущено огормное количество различных дистрибутивов таких как: Ubuntu, Linux Mint, Knoppix т.п.

Основные конфигурационные файлы

Сетевые настройки осуществляются методом правки конфигурационных файлов, а также с помощью графических программ. В этом разделе рассмотрим файлы конфигурации, используемые в операционных системах Ubuntu, Linux Mint, Knoppix т.п.

Файл настройки сетевых интерфейсов /etc/network/interfaces

В этом файле настраиваются основные данные для сетевых интерфейсов, такие как ip адрес (address), сетевая маска (netmask), адрес сети (network), braodcast адрес (broadcast), шлюз по умолчанию (gateway).

Пример настройки интерфейса «lo», «eth0» и «eth1» для Ubuntu, Linux Mint, Debian.

Файл /etc/hosts

Впоследнее время неактуален, раньше использовался для соответствия списока ip-адресов и символьных имен, хотя иногда всеже используется.

Файл с настройкой сетевого имени /etc/hostname

В Debian и Ubuntu существует специальный файл /etc/hostname, в котором можно изменить сетевое имя, однако чтобы изменения вступили в силу, требуется перезагрузка системы.

Файл настроек DNS серверов /etc/resolv.conf

В этом файле перечисляется список ip адресов DNS серверов.

Управление сетевыми интерфейсами.

Для просмотра состояния и конфигурации интерфейса существуют специальные команды:

Посмотреть таблицу маршрутизации можно используя команду:

В Ubuntu, Debian, Linux Mint, Knoppix существуют специальные сценарии для управления сетевыми интерфейсами.

Сценарии ifup и ifdown позволяют включить или отключить сетевой интерфейс. В качестве аргумента эти сценарии принимают имя интерфейса.

Сценарий rcnetwork или /etc/init.d/networking позволяют включить (start), отключить (stop) или перезапустить (restart) все интерфейсы разом.

И напоследок, функция маршрутизации между интерфейсами по умолчанию отключена, однако ее можно включить. Для этого надо добавить в файл /ete/sysctl.conf запись net.ipv4.ip_forward=1 и перезапустить систему.

Вот и все. На этом рассмотрение настройки сети в операционных системах Ubuntu, Debian, Linux Mint, Knoppix завершено.

1″ :pagination=»pagination» :callback=»loadData» :options=»paginationOptions»>

Источник

Интернет-шлюз для двух подсетей на Ubuntu Server 18.04 LTS

Небольшой эксперимент создания интернет-шлюза для двух подсетей на базе на Ubuntu Server. У меня дома компьютер с установленной Windows 10 и VirtualBox. Давайте создадим семь виртуальных машин: router , pc-1 , pc-2 , pc-3 , nfs-server , ftp-server , web-server :

  • Виртуальные машины pc-1 , pc-2 , pc-3 объединены в сеть 192.168.176.0/24
  • Виртуальные машины nfs-server , ftp-server , web-server объединены в сеть 192.168.30.0/24

Виртуальная машина router будет обеспечивать выход в интернет для компьютеров подсетей 192.168.176.0/24 и 192.168.30.0/24 , у нее три сетевых интерфейса:

  • enp0s3 (сетевой мост) — смотрит в домашнюю сеть, получает ip-адрес 192.168.110.8 от роутера Keenetic Air
  • enp0s9 (внутреняя сеть) — смотрит в одну сеть с виртуальными машинами pc-1 , pc-2 , pc-3
  • enp0s8 (внутреняя сеть) — смотрит в одну сеть с виртуальными машинами nfs-server , ftp-server , web-server
Читайте также:  Windows для планшетов tegra

Тут надо сказать несколько слов о настройке сети в VirtualBox. Существует несколько способов, рассмотрим два из них:

  • Сетевой мост — при таком подключении виртуальная машина становится полноценным членом локальной сети, к которой подключена основная система. Виртуальная машина получает адрес у роутера и становится доступна для других устройств, как и основной компьютер, по своему ip-адресу.
  • Внутренняя сеть — тип подключения симулирует закрытую сеть, доступную только для входящих в ее состав машин. Поскольку виртуальные машины не имеет прямого доступа к физическому сетевому адаптеру основной системы, то сеть получается полностью закрытой, снаружи и изнутри.

Настройка сети для router

Сначала нужно посмотреть, как называются сетевые интерфейсы в системе:

Теперь редактируем файл /etc/netplan/01-netcfg.yaml

Применяем настройки и смотрим сетевые интерфейсы:

Первый сетевой интерфейс enp0s3 получил ip-адрес 192.168.110.8 от роутера Keenetic Air, этот ip-адрес закреплен постоянно. Второму сетевому интерфейсу enp0s8 мы назначили ip-адрес 192.168.30.1 . Третьему сетевому интерфейсу enp0s8 мы назначили ip-адрес 192.168.176.1 .

Настройка сети для pc-1, pc-2 и pc-3

Сначала для виртуальной машины pc-1 . Смотрим, как называются сетевые интерфейсы в системе:

Открываем на редактирование файл /etc/netplan/01-netcfg.yaml :

Применяем настройки и смотрим сетевые интерфейсы:

Для виртуальных машин pc-2 и pc-3 все будет аналогично, назначаем им ip-адреса 192.168.176.3 и 192.168.176.4 .

Настройка сети для nfs-server, ftp-server, web-server

Сначала для виртуальной машины nfs-server . Смотрим, как называются сетевые интерфейсы в системе:

Открываем на редактирование файл /etc/netplan/01-netcfg.yaml :

Применяем настройки и смотрим сетевые интерфейсы:

Для виртуальных машин ftp-server и web-server все будет аналогично, назначаем им ip-адреса 192.168.30.3 и 192.168.30.4 .

Настройка интернет-шлюза

Виртуальная машина router должна обеспечивать выход в интернет для компьютеров из двух подсетей 192.168.176.0/24 и 192.168.30.0/24 . По умолчанию транзитный трафик отключен, так что редактируем файл /etc/sysctl.conf :

И перезагружаем виртуальную машину router . После этого настраиваем netfilter с помощью утилиты iptables :

И вот что у нас получилось в итоге:

Теперь настроим SNAT (подмена адреса источника), что позволит всем компьютерам двух подсетей выходить в интернет, используя единственный ip-адрес 192.168.110.8 :

И смотрим, что получилось:

Доступ к NFS-серверу за NAT

Наш NFS-сервер расположен во внутренней сети 192.168.30.0/24 и имеет ip-адрес 192.168.30.2 . Чтобы обеспечить доступ к нему из подсети 192.168.110.0/24 , выполняем на виртуальной машине router команды (подробнее можно прочитать здесь):

И смотрим, что получилось:

Доступ к FTP-серверу за NAT

Наш FTP-сервер расположен во внутренней сети 192.168.30.0/24 и имеет ip-адрес 192.168.30.3 . Чтобы обеспечить доступ к нему из подсети 192.168.110.0/24 , выполняем на виртуальной машине router команды (подробнее можно прочитать здесь):

И смотрим, что получилось:

Доступ к WEB-серверу за NAT

Наш WEB-сервер расположен во внутренней сети 192.168.30.0/24 и имеет ip-адрес 192.168.30.4 . Чтобы обеспечить доступ к нему из подсети 192.168.110.0/24 , выполняем на виртуальной машине router команду:

И смотрим, что получилось:

Связь между подсетями

Чтобы обеспечить связь между подсетями 192.168.176.0/24 и 192.168.30.0/24 , добавим на маршрутизаторе еще два правила:

Проверим, что с виртуальной машины pc-1 можно достучаться до nfs-server :

И наоборот, что с виртуальной машины nfs-server можно достучаться до pc-1 :

Читайте также:  Remote control collection windows

Доступ к серверам за NAT по SSH

Чтобы иметь возможность управлять серверами, на каждый из них установлен SSH-сервер. И нужно обеспечить доступ к ним из внешней подсети 192.168.110.0/24 . Для этого выполняем на маршрутизаторе три команды:

Первая комнанда — мы отбираем tcp-пакеты, которые приходят на интерфейс enp0s3 на порт 2222 и отправляем эти пакеты виртуальной машине nfs-server на порт 22 , заменяя в пакетах пункт назначения на 192.168.30.2 . Вторая и третья команды позволяют получить доступ к ftp-server и web-server .

Открываем на физическом компьютере окно PowerShell и выполняем команду:

Сохранение правил netfilter

Созданные с помощью утилиты iptables правила пропадут при перезагрузке виртуальной машины router . Так что их нужно сохранить и восстанавливать при перезагрузке. В этом нам поможет пакет iptables-persistent :

При установке пакета будет предложено сохранить текущие правила iptables :

  • в файл /etc/iptables/rules.v4 для протокола IPv4
  • в файл /etc/iptables/rules.v6 для протокола IPv6

После установки пакета будет добавлена новая служба netfilter-persistent.service , которая при загрузке системы будет восстанавливать созданные нами правила:

При добавлении новых правил, надо сохранить конфигурацию с помощью команды

Восстановить ранее сохраненную конфигурацию можно с помощью команды

Источник

Настройка Linux-шлюза/маршрутизатора, руководство для не сетевых администраторов

Главное меню » Linux » Настройка Linux-шлюза/маршрутизатора, руководство для не сетевых администраторов

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

Мы можем купить маршрутизатор или заменить устройство на что-то, что может обеспечить такую ​​же функциональность. В этом случае мы выбрали сервер Linux, поэтому нам нужно выяснить, какие сервисы предоставляет маршрутизатор, а затем каким-то образом эмулировать их:

  • DHCP для управления арендой
  • DNS для перевода доменов в IP
  • NAT, чтобы мультиплексировать одно соединение
  • Переадресация сервиса, выставление внутренних сервисов во внешнюю сеть

К счастью, Linux поддерживает все это:

  • ISC для DHCP
  • bind9 для DNS
  • iptables для NAT
  • снова iptables, для пересылки услуг

Мы будем настраивать каждую из этих служб в следующих постах, а пока:

Предварительная работа, настройка оборудования

Перед настройкой каких-либо служб вам понадобятся две вещи: две сетевые карты, одна для исходящего соединения, а другая для (коммутируемой) локальной сети, и способ сообщить серверу, что вы хотите, чтобы весь трафик из сети 1 был перенаправлен в сеть 2. Возможно, вы захотите установить более двух карт на случай, если вам потребуется маршрутизировать несколько локальных сетей. Мы увидим это позже.

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

Кроме того, в этой статье мы будем использовать такую ​​настройку:

  • WAN доступ через eth0, адрес DHCP
  • LAN маршрутизация в eth1, сеть 192.168.25.1/24

Если у вас нет всего этого оборудования …

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

  1. Начните с создания того, что будет вашим маршрутизатором VM.
  2. Включите первый сетевой адаптер. Этот должен видеть ваш физический маршрутизатор (т.е. подключаться к глобальной сети).
  3. Включите второй сетевой адаптер. Используйте опцию «Внутренняя сеть» в поле «Прикреплено к». Это будет ваш интерфейс локальной сети.
  4. Создайте вторую виртуальную машину. Этот будет вашим клиентом.
  5. Включите один сетевой адаптер, также подключенный к внутренней сети. Имя этой сети должно совпадать с именем другой виртуальной машины.
Читайте также:  Linux как сделать загрузочный диск windows

Теперь все готово, с помощью этой виртуальной настройки вы можете начать настройку маршрутизатора.

Настройка Linux GW: NATting и пересылка

Для нашего Linux GW такие сервисы, как DNS и DHCP, хороши, но реальное подключение намного важнее. Давайте настроим функции NAT и переадресации соединений нового маршрутизатора, затем мы можем проверить, правильно ли работает наша установка, пропингуя IP одной локальной сети из другой.

Мы сделаем это, настроив NAT с помощью iptables. Нам также нужно будет настроить ОС для переадресации соединений с одной сетевой карты на другую:

Нам также нужно будет настроить IP для eth0, так как не будет DHCP-сервера (мы являемся сервером!). Откройте/etc/network/interfaces и добавьте что-то вроде этого:

После того, как все проверено, перезапустите сетевые сервисы, как ниже:

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

На своем клиентском ПК установите свой IP-адрес:

Проверьте, установлен ли у вас IP:

Если вы получили ответ, ваш новый IP-адрес в порядке, если нет, то проблема с вашим клиентом. Второй шаг, посмотрите, можете ли вы добраться до маршрутизатора:

Обратите внимание, что вам может потребоваться обновить все (т.е. перезапустить сеть и вручную назначить свой IP-адрес) после подключения кабеля.

Опять же, если вы получите ответ, у вас есть связь с маршрутизатором. До сих пор мы не тестировали ни правила iptables, ни переадресацию, поэтому любая проблема на этом этапе должна иметь конфигурацию IP. Если все прошло хорошо, пришло время проверить правила NAT и переадресацию.

Это должно дать вам ошибку. Конечно, поскольку нет DHCP, маршрут не установлен. Давайте вручную установим маршрут в клиенте:

Магия! Работает! Если это не так, у вас есть проблема либо в конфигурации NAT, либо в IP-пересылке маршрутизатора. Вы можете проверить это с помощью wireshark: если эхо-запросы достигают сервера, но они никогда не получают ответ, тогда это NAT, то есть он может пересылать IP-пакеты на eth1 на eth0, но у маршрутизатора нет NAT, и он не знает, как направить ответ обратно. Если эхо-запросы никогда не достигают eth0, тогда у вас проблема с пересылкой IP.

Сохранение правил пересылки

Чтобы правила пересылки сохранялись после перезагрузки, нам нужно сначала изменить /etc/sysctl.conf, чтобы разрешить пересылку IP. Это просто вопрос раскомментирования этой строки:

У нас также будет много правил iptables, которые нам нужно настроить во время загрузки. Мы создали скрипт в /home/router/set_forwarding.sh, который также связали с /etc/init.d/rc.local, поэтому он запускается всякий раз, когда загружается система.

В следующий раз мы перейдем к чему-то более сложному: установке DNS-сервера и использованию доменов вместо IP-адресов.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Оцените статью