Linux шлюз для сети

Интернет-шлюз на базе Ubuntu Server / Internet Connection Sharing + Squid, Firestarter

Содержание

Имеется сервер и подключенные к нему клиенты по локальной сети. Сервер имеет выход в интернет. Необходимо устроить раздачу интернета сервером.

Основная часть

Собственно, установка шлюза на базе Ubuntu Server занимает не больше 10-15 минут.

PPPoE

Если Вы используете для подключения по локальной сети PPPoE, вам необходимо просто-напросто ввести в терминале команду:

и дать ответы на вопросы. По окончании работы pppoeconf соединение должно быть установлено.

Если Вы используете для подключения к провайдеруL2TP, то для этого понадобится установить xl2tpd — демон l2tp и pppd — демон ppp. 1)

Редактируем файл настроек xl2tpd:

Записываем в файл chap-secrets логин и пароль:

соединение должно быть установлено.

На установленной машине Интернет появился. Теперь надо добавить включить все репозитарии в /etc/apt/source.list и выполнить:

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

Или, вы можете использовать DNS провайдера.

Прокси-сервер squid

Squid — программный пакет, реализующий функцию кэширующего прокси-сервера для протоколов HTTP , FTP , Gopher и HTTPS.

Для установки прокси-сервера squid необходимо выполнить команду:

Теперь редактируем конфигурационный файл. Открываем /etc/squid/squid.conf , ищем нужные строки и корректируем следующим образом:

Перезапускаем прокси-сервер командой:

Настраиваем браузеры на клиентских машинах на использование прокси: адрес прокси — пишем IP адрес интерфейса, обращенного в локальную сеть. Скорее всего,это будет 192.168.0.1, порт прокси — указанный в конфигурационном файле 3128.

Желающим сделать прозрачное проксирование необходимо изменить в файле настроек squid.conf одну строчку:

Затем для заворачивания нужных портов на прокси-сервер прописывается правило:

Раздача Интернета в локальную сеть c помощью firestarter

Firestarter – это средство для создания межсетевых экранов для Linux, использующее GNOME. С помощью мастера можно создать базовый межсетевой экран, в дальнейшем его возможности расширяются с помощью динамических правил. Несколькими щелчками мыши можно открывать и закрывать порты или скрывать сервисы, оставляя доступ только к некоторым из них. В программе имеется монитор, который в режиме реального времени показывает попытки поиска злоумышленниками открытых портов.

Для начала установим firestarter :

При настройке указываем интерфейс с Интернетом — ppp0 раздавать на eth1 2)

Раздача Интернета в локальную сеть (ICS: Internet Connection Sharing)

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

На сервере

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

Исходные данные: Оба компьютера соединены по сети. На сервере установлено две сетевые карты:

Это можно сделать вручную или используя терминал:

Разрешите направление пакетов. Чтобы сделать это, отредактируйте /etc/sysctl.conf . Откройте сам файл командой:

А затем вставьте следующую строчку:

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

Затем добавляем правило для NAT:

Где eth0 название вашего интерфейса через который выходите в интернет. Измените его если используете другой интерфейс (напрмер ppp0) тогда команда будет выглядит иначе:

Читайте также:  Xerox phaser 3100 mfp драйвер windows 10 сканер не сканирует

Установите и запустите пакет для раздачи пакетов по сети:

Или, вы можете использовать DNS провайдера.

Чтобы NAT работал после перезагрузки сохраняем настройки iptables в файл:

И добавляем в конец файла:

Эту строчку, для автоматической подгрузки правил:

Также в этот файл добавляем правила роутинга:

Источник

Как найти IP шлюза по умолчанию в Linux

Главное меню » Операционная система Linux » Как найти IP шлюза по умолчанию в Linux

В предыдущей статье мы рассказывали вам о поиске IP-адреса в командной строке Linux. В этом кратком совете мы покажем вам, как найти IP-адрес шлюза по умолчанию в командной строке Linux.

Шлюз работает как вход или дверь между двумя сетями. Маршрутизатор является примером шлюза. Весь ваш трафик идет к маршрутизатору, а затем к остальной части Интернета.

Иногда вам нужно знать IP-адрес вашего маршрутизатора. IP-адрес шлюза – это IP-адрес вашего маршрутизатора при обычной настройке.

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

Откройте терминал и используйте следующую команду:

Вы должны увидеть результат вроде этого:

Сосредоточьтесь на строке, которая начинается с default. Это даст IP-адрес шлюза по умолчанию.

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

Это просто даст IP-адрес шлюза по умолчанию в выходных данных:

И, как вы можете видеть, 192.168.0.1 является IP-адресом шлюза по умолчанию в нашем случае.

Другие способы найти IP-адрес шлюза в Linux

Команда IP в Linux обеспечивает большинство ваших основных сетевых потребностей. Но, как вы уже заметили, в Linux существует несколько способов сделать определенные вещи.

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

Найти шлюз в Linux с помощью команды route

Вы можете использовать опцию -n с командой route для отображения таблицы маршрутизации с IP-адресами.

Пример вывода должен быть таким:

Обратите внимание на флаги U и G? U означает, что маршрут «вверх», а G означает, что это шлюз.

Показать шлюз в Linux с помощью команды netstat

Чтобы отобразить информацию о шлюзе, вы можете использовать команду netstat и отобразить таблицу маршрутизации, которая также составляет шлюз.

Вывод должен быть идентичен тому, что вы видели с командой route:

Вы можете идентифицировать шлюз с флагом G.

Заключение

Мы надеемся, что этот быстрый совет по Linux помог вам найти IP-адрес шлюза по умолчанию в командной строке Linux. Добавьте этот веб-сайт в ваш ридер для таких регулярных советов и руководств по Linux.

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

Источник

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

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

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

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

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

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

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

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

Читайте также:  Linux mint как зайти под root

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

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

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

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

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

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

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

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

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

Настройка 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.

Читайте также:  Код ошибки 10 при установке драйвера windows 10

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

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

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

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

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

Источник

Домашний интернет-шлюз. Начальная настройка 6-портового мини-компьютера на Ubuntu Server 20.04 LTS

Введение

Обновил я интернет до 500 Мбит/с, и пришло время заняться 100 Мбитным сервером, который работал на Pentium 3 и был уже на грани. Выбор пал на китайского зверя. Все, что нужно — имеется, потребление в обычном режиме не превышает 15W, запас производительности для дополнительных задач есть.

Установку ОС расписывать не буду («ОК — Далее — Далее»), отмечу только, что при установке требуется сконфигурировать хотя бы один сетевой интерфейс для доступа в интернет.

Для удобства я использую Midnight Commander и его текстовый редактор. Работать будем от root-пользователя:

Итак, у нас есть установленная Ubuntu Server, начнем с конфигурации остальных сетевых интерфейсов.

Netplan

В последних версиях Ubuntu появилась утилита Netplan, позволяющая настроить сеть в унифицированном формате и выбирать сетевой менеджер для работы. По умолчанию используется Systemd-networkd, я же выбрал NetworkManager, так как установил Web-интерфейс Cockpit, который использует именно NM для отображения части информации.
Синтаксис конфигурации Netplan очень строгий и лишний пробел или табуляция может вызвать ошибку.

Подробнее о функционале уже расписывали habr.com/ru/post/448400, так же различные примеры есть на сайте netplan.io/examples.

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

Перейдем в директорию /etc/netplan и откроем (F4 для МС) файл 50-cloud-init.yaml. Для сетевого интерфейса, который будет использоваться для подключения к интернету, определим получение настроек по dhcp (dhcp4: true). В моем случае это enp6s0. Для остальных укажем false и добавим параметр optional: true, т.к. интерфейс может быть ни к чему не подключен.

Для объединения интерфейсов в локальную сеть я использовал bridge, но, возможно, правильнее было бы использовать vlan. Создадим мост lan-br, зададим общий IP-адрес, DNS-сервер и пропишем объединяемые интерфейсы:

У меня будет собственный DNS-сервер, поэтому указываю адрес своего сервера в поле nameservers, можно указать например 8.8.8.8 (Google). Указываем версию и менеджер. В итоге должно получиться примерно так:

Сохраняем файл и проверяем/применяем конфигурацию:

DHCP-сервер

Настроим DHCP-сервер для того, чтобы клиенты могли получать IP-адреса автоматически.

В файле /etc/default/isc-dhcp-server правим строчку:

Переходим в /etc/dhcp, открываем dhcpd.conf и прописываем настройки:

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

UFW (Uncomplicated Firewall) — инструмент для более легкой настройки iptables. Настроим фаервол и пересылку пакетов между интерфейсами. Переходим в/etc/ufw и в файле sysctl.conf раскомментируем строку:

Если Вы подключены через ssh перед началом откройте 22 порт:

Включим UFW, проверим состояние:

Зададим политики по умолчанию:

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

Настроим NAT. Откроем файл before.rules и пишем следующее перед блоком *filter:

Сохраняемся и перезапускаем ufw:

Проверим iptables, должна появиться наша строчка:

На этом базовую настройку сервера можно считать законченной.

Заключение

Я не поднимал вопрос настройки DNS-сервера, так как планирую выпустить вторую часть, где будет изложена настройка Dnscrypt-proxy в роли DNS-сервера для локальной сети.

Источник

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