2 сетевые карты linux ubuntu шлюз

Интернет-шлюз на базе Ubuntu Server 1804 LTS — подробное руководство

Интернет-шлюз на базе Ubuntu Server 1804 LTS: подробное руководство

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

Ubuntu Server 1804 LTS предоставляет все необходимые инструменты для создания и настройки интернет-шлюза. Для этого мы будем использовать пакеты squid и netfilter, которые позволяют настроить прокси-сервер и межсетевой экран на основе iptables.

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

Для начала, проверьте настройки сетевых интерфейсов с помощью команды ifconfig. Найдите интерфейс, подключенный к интернету, и запишите его дальнейшие настройки, такие как ip-адрес и порт (обычно это eth0 или eth1). Затем выполните команду ip route для просмотра текущих маршрутов и узнайте ip-адрес маршрутизатора и сетевых подсетей.

Теперь установим необходимые пакеты для прокси-сервера и межсетевого экрана. Выполните команду apt-get install squid iptables-persistent, чтобы установить эти пакеты и добавить их в автоматическую загрузку системы.

После установки пакетов перейдите к настройке прокси-сервера Squid. Откройте файл /etc/squid/squid.conf в текстовом редакторе и настройте прокси-сервер в соответствии со своими потребностями. Например, вы можете настроить доступ к определенным сайтам или запретить некоторые порты. Сохраните изменения и перезапустите службу squid с помощью команды service squid restart.

Теперь настало время настроить межсетевой экран. Откройте файл /etc/sysctl.conf в текстовом редакторе и найдите строку net.ipv4.ip_forward=0. Замените 0 на 1, чтобы включить перенаправление пакетов между интерфейсами. Сохраните изменения и выполните команду sysctl -p, чтобы применить их.

Далее вам необходимо настроить маршрутизацию и межсетевой экран с помощью iptables. Введите следующую команду для настройки маршрутизатора:

iptables -t nat -A POSTROUTING -o [интерфейс с доступом в интернет] -j MASQUERADE

Здесь вместо [интерфейс с доступом в интернет] укажите интерфейс, подключенный к интернету.

Теперь настало время настроить межсетевой экран для маршрутизации трафика. Давайте предположим, что ваша внутренняя сеть имеет подсети 192.168.1.0/24 и 192.168.2.0/24. Введите следующую команду для настройки межсетевого экрана:

iptables -A FORWARD -i [интерфейс внутренней сети] -o [интерфейс с доступом в интернет] -j ACCEPT

iptables -A FORWARD -i [интерфейс с доступом в интернет] -o [интерфейс внутренней сети] -m state —state RELATED,ESTABLISHED -j ACCEPT

Здесь вместо [интерфейс внутренней сети] укажите интерфейс, подключенный к внутренней сети, а вместо [интерфейс с доступом в интернет] – интерфейс, подключенный к интернету.

Сохраните настройки iptables с помощью команды iptables-persistent save и перезапустите службу iptables-persistent с помощью команды service iptables-persistent restart.

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

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

Интернет-шлюз на базе Ubuntu Server 1804 LTS

Ubuntu Server 1804 LTS можно использовать как интернет-шлюз, управляющий подключением между локальной сетью и внешней сетью. В этом разделе мы рассмотрим подробное руководство по настройке интернет-шлюза.

Для начала, убедитесь, что на вашем устройстве установлено Ubuntu Server 1804 LTS. Далее необходимо установить демон виртуальных машин (KVM) с помощью команды:

sudo apt-get install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils

После установки демона виртуальных машин необходимо добавить виртуальный интерфейс к вашему серверу. Мы назовем его pc-3:

sudo virsh attach-interface pc-3 --type bridge --source bridge=br0 --model virtio --live

Далее, необходимо настроить маршрутизацию между внутренней сетью (pc-3) и внешней сетью (enp0s8). Для этого откройте файл конфигурации интерфейсов:

Читайте также:  3 Установка и запуск подробная инструкция

sudo nano /etc/network/interfaces

Найдите строку, содержащую настройки для внутренней сети (pc-3) и добавьте следующие настройки:

iface pc-3 inet static
address 10.0.0.1
netmask 255.255.255.0

Сохраните файл и выйдите из редактора. Далее необходимо настроить правила iptables для перенаправления трафика между внутренней и внешней сетью. Откройте файл с правилами:

sudo nano /etc/iptables/rules.v4

Добавьте следующую строку перед строкой содержащей «-A FORWARD -j REJECT —reject-with icmp-proto-unreachable»:

-A FORWARD -i enp0s8 -o pc-3 -j ACCEPT

Сохраните файл и выйдите из редактора. Теперь необходимо настроить доступ к внутренней сети на сервере. Откройте файл конфигурации NFS-сервера:

sudo nano /etc/exports

Добавьте следующую строку в файл:

/mnt/nfs-server 10.0.0.0/24(rw,no_root_squash,sync,no_subtree_check)

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

sudo reboot

После перезагрузки, установите на виртуальную машину внутреннюю сетевую карту и подключите ее к внутренней сети (pc-3). Теперь у вас полностью настроен интернет-шлюз на базе Ubuntu Server 1804 LTS!

Установка и настройка операционной системы

Установка и настройка операционной системы

Перед тем, как приступить к установке и настройке интернет-шлюза, необходимо установить операционную систему Ubuntu Server 18.04 LTS на виртуальную машину или физический сервер компьютера, который будет выполнять роль интернет-шлюза.

Установка операционной системы Ubuntu Server 18.04 LTS осуществляется по стандартной процедуре установки ОС Ubuntu. При установке вам будет предложено выбрать режим установки. Для нашей цели выбираем режим установки «Машину использовать как интернет-шлюз» (Internet Gateway).

После этого нужно указать параметры настройки сети. Если вам известны все настройки вашего интернет-провайдера, то вы можете их ввести вручную. Если же вы не уверены в настройке, то оставьте поле пустым — установщик попытается автоматически определить настройки сети через DHCP.

После того, как ОС Ubuntu Server 18.04 LTS будет полностью установлена, необходимо настроить сетевые интерфейсы вашего сервера. Для этого откройте терминал и выполните следующую команду:

sudo nano /etc/netplan/50-cloud-init.yaml

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

Добавьте следующий код в файл:

network:
  version: 2
  ethernets:
    enp0s8:
      addresses: [ВНУТРЕННИЙ_IP_АДРЕС/МАСКА] # IP-адрес вашей внутренней сети
      dhcp4: false
      routes:
      - to: 0.0.0.0/0
        via: IP_АДРЕС_ВАШЕГО_МАРШРУТИЗАТОРА # IP-адрес вашего маршрутизатора в интернете
  version: 2,2,2

Внимание! Внесите соответствующие изменения в код, заменив «ВНУТРЕННИЙ_IP_АДРЕС» на IP-адрес вашей внутренней сети и «IP_АДРЕС_ВАШЕГО_МАРШРУТИЗАТОРА» на IP-адрес вашего маршрутизатора в интернете.

После внесения изменений сохраните файл и выполните следующую команду, чтобы применить настройки:

sudo netplan apply

После этого ваш интернет-шлюз будет полностью настроен и готов к использованию.

Установка и настройка пакета netfilter

Первым делом установим пакет iptables-persistent, который позволит автоматически восстановить правила iptables при загрузке сервера:

  • Выполняем команду sudo apt-get update для обновления списка пакетов
  • Затем выполняем команду sudo apt-get install iptables-persistent для установки пакета

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

  • Отключим автоматическую загрузку правил iptables, чтобы использовать собственные настройки. Для этого выполняем команду sudo systemctl mask netfilter-persistent.service
  • Создадим файл /etc/iptables/rules.v4, в котором будем добавлять правила.

Теперь мы можем настраивать правила для фильтрации трафика:

  • Добавляем в файл /etc/iptables/rules.v4 соответствующие настройки для каждого сервера или устройства в сети.
  • При необходимости создаем отдельные цепочки правил и применяем их к определенным адресам или подсетям.
  • Настроим мост между внутренней и внешней сетями для обеспечения связи между компьютерами в сети и выхода в Интернет.

После настройки правил и моста перезагружаем компьютер для применения изменений:

  • Выполняем команду sudo netfilter-persistent reload, чтобы перезагрузить правила iptables
  • Затем выполняем команду sudo reboot, чтобы перезагрузить сервер.

После перезагрузки сервера netfilter будет полностью настроен и готов к использованию.

Настройка правил netfilter

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

  1. Пересылка пакетов на ftp-сервер
  2. Настройка NAT (Network Address Translation) для подмены адреса
  3. Фильтрация пакетов

Установка netfilter-persistent и iptables-persistent

Для сохранения настроек netfilter при перезагрузке сервера нам понадобятся утилиты netfilter-persistent и iptables-persistent. Установим их следующей командой:

sudo apt-get install netfilter-persistent iptables-persistent

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

Настройка netplan

Для настройки сети в Ubuntu Server 1804 LTS используется инструмент netplan. Открываем файл конфигурации netplan:

sudo nano /etc/netplan/50-cloud-init.yaml

Внутри файла редактируем секцию «network», в которой назначаем IP-адреса и интерфейсы для наших сетей:

network:
version: 2
ethernets:
enp0s3:
dhcp4: true
enp0s8:
dhcp4: false
addresses: [192.168.1.1/24]
nameservers:
addresses: [8.8.8.8, 8.8.4.4]

В данном примере мы назначаем IP-адрес 192.168.1.1 на интерфейс enp0s8, который будет использоваться для внутренней сети.

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

sudo netplan apply

Настройка пересылки пакетов на ftp-сервер

Настройка пересылки пакетов на ftp-сервер

Для настройки пересылки пакетов на ftp-сервер воспользуемся командой iptables:

sudo iptables -t nat -A PREROUTING -i enp0s8 -p tcp --dport 21 -j DNAT --to-destination 192.168.1.2:21

Здесь мы указываем, что все пакеты, поступающие на интерфейс enp0s8 с портом 21, должны быть перенаправлены на IP-адрес ftp-сервера (192.168.1.2) на порт 21.

Читайте также:  Как посмотреть журнал ошибок windows server

Настройка NAT для подмены адреса

Для настройки NAT, позволяющей подменять адрес источника пакета, используем следующую команду:

sudo iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE

В данном случае мы указываем, что все пакеты, передаваемые через интерфейс enp0s3, должны иметь измененный исходный адрес.

Настройка фильтрации пакетов

Для настройки фильтрации пакетов используем команды iptables. Например, чтобы разрешить только сеть 192.168.1.0/24 обращаться к ftp-серверу, выполним следующую команду:

sudo iptables -A FORWARD -p tcp -s 192.168.1.0/24 -d 192.168.1.2 --dport 21 -j ACCEPT

Здесь мы разрешаем только пакетам, исходящим из сети 192.168.1.0/24 и направленным на IP-адрес ftp-сервера (192.168.1.2) с портом 21, пройти фильтрацию и быть переданными.

После настройки правил netfilter можно полностью настроить интернет-шлюз на базе Ubuntu Server 1804 LTS. Не забудьте сохранить текущую конфигурацию правил с помощью команды:

sudo netfilter-persistent save

Теперь, при загрузке машины, правила netfilter будут автоматически применяться.

Создание виртуального моста и подключение интерфейсов

Создание виртуального моста и подключение интерфейсов

Для настройки интернет-шлюза на базе Ubuntu Server 1804 LTS требуется создание виртуального моста и подключение интерфейсов. Этот раздел подробно описывает необходимые шаги.

Создание виртуального моста

Для начала, на сервере Ubuntu необходимо настроить виртуальный мост. В качестве примера будем использовать два компьютера (pc-1 и pc-2), подключенные к локальной сети и сервер Ubuntu, который будет выступать в роли моста.

1. Присвоим мосту адреса IP-сетей, чтобы устройства на других концах моста могли получить доступ к интернету. Назначаем адреса следующими командами:

sudo ip addr add 192.168.1.1/24 dev br0
sudo ip addr add 192.168.2.1/24 dev br0

2. Создадим файл br0.netplan в директории /etc/netplan/ с помощью команды: sudo nano /etc/netplan/br0.netplan. Добавим в него следующий контент:

network:
version: 2
renderer: networkd
ethernets:
enp0s8: {}
bridges:
br0:
interfaces: [enp0s8]
dhcp4: no
addresses: [192.168.1.1/24, 192.168.2.1/24]
nameservers:
addresses: [8.8.8.8, 8.8.4.4]

3. Сохраните и закройте файл, а затем выполните команду sudo netplan apply для применения изменений. Теперь виртуальный мост создан и настроен для использования.

Подключение интерфейсов

Далее, необходимо подключить интерфейсы enp0s3 и enp0s8 к виртуальному мосту.

1. Откройте файл /etc/netplan/50-cloud-init.yaml с помощью команды: sudo nano /etc/netplan/50-cloud-init.yaml.

2. Добавьте следующий контент:

network:
ethernets:
enp0s3:
dhcp4: true
optional: true
enp0s8:
dhcp4: true
optional: true
bridges:
br0:
addresses: [192.168.1.1/24, 192.168.2.1/24]
dhcp4: no
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
interfaces: [enp0s8]

3. Сохраните и закройте файл, а затем выполните команду sudo netplan apply для применения изменений. Теперь интерфейсы enp0s3 и enp0s8 подключены к виртуальному мосту и готовы к использованию.

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

Настройка DHCP-сервера для локальной сети

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

В качестве DHCP-сервера можно использовать пакет isc-dhcp-server, который будет работать в паре с iptables-persistent для сохранения правил фильтрации пакетов.

Для начала установим DHCP-сервер следующей командой:

sudo apt install isc-dhcp-server

После установки необходимо отредактировать файл /etc/dhcp/dhcpd.conf и указать настройки DHCP-сервера:

sudo nano /etc/dhcp/dhcpd.conf

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

Пример настроек DHCP-сервера:

subnet 192.168.0.0 netmask 255.255.255.0 {
option routers 192.168.0.1;
option domain-name-servers 8.8.8.8, 8.8.4.4;
range 192.168.0.10 192.168.0.100;
}

В данном примере DHCP-сервер будет выделять IP-адреса в диапазоне от 192.168.0.10 до 192.168.0.100. Шлюзом по умолчанию будет 192.168.0.1, а DNS-серверами — 8.8.8.8 и 8.8.4.4.

После внесения всех необходимых изменений необходимо перезапустить DHCP-сервер следующей командой:

sudo service isc-dhcp-server restart

Теперь все машины в локальной сети, подключенные к интерфейсу, который является членом этой сети, должны автоматически получить IP-адрес от DHCP-сервера.

Назначение статического IP-адреса для внешнего интерфейса

Для обеспечения надежного подключения компьютера к сетевому маршрутизатору и правильной работы интернет-шлюза на базе Ubuntu Server 1804 LTS, необходимо назначить статический IP-адрес для внешнего интерфейса.

В Ubuntu Server 1804 LTS стандартным способом настройки сетевых интерфейсов является утилита netplan. С ее помощью можно легко настроить IP-адрес, шлюз, DNS и другие параметры сети.

Чтобы выполнить настройку, откройте файл /etc/netplan/01-netcfg.yaml в редакторе:

sudo nano /etc/netplan/01-netcfg.yaml

В файле найдите раздел, отвечающий за внешний интерфейс (обычно он называется eth0 или enp0s3) и выполните следующие действия:

  • Добавьте параметр «addresses» со значением статического IP-адреса для внешнего интерфейса (например, 192.168.0.2/24).
  • Добавьте параметр «gateway4» со значением IP-адреса шлюза (например, 192.168.0.1).
  • Добавьте параметр «nameservers» со значением IP-адреса DNS (например, 8.8.8.8).
Читайте также:  Лучшие плагины для сайта как выбрать и установить

После внесения изменений сохраните файл и примените новые настройки сети с помощью команды:

sudo netplan apply

Теперь ваш интернет-шлюз на базе Ubuntu Server 1804 LTS имеет статический IP-адрес для внешнего интерфейса, что обеспечит стабильное подключение к сети и возможность передачи данных.

Настройка маршрутизации пакетов

В данном разделе рассмотрим основные настройки маршрутизации пакетов в интернет-шлюзе на базе Ubuntu Server 1804 LTS. Для полного понимания и выполнения всех необходимых настроек вам потребуется прочитать предыдущие разделы.

Настройка интерфейсов

Для обеспечения связи с внешней сетью и локальной сетью необходимо настроить интерфейсы. Один интерфейс будет соединять ваш интернет-шлюз с провайдером, а второй – с локальной подсетью.

Откройте файл конфигурации netplan для редактирования:

sudo nano /etc/netplan/50-cloud-init.yaml

Здесь вы найдете настройки для двух интерфейсов: enp0s3 и enp0s8. Внесите необходимые изменения в соответствии с вашей сетевой конфигурацией.

Сохраните и закройте файл.

Настройка прокси-сервера

Для обеспечения доступа к интернету в локальной сети необходимо установить и настроить прокси-сервер. Мы рекомендуем использовать Squid.

Установим Squid на наш сервер:

sudo apt-get install squid

После установки откройте файл настроек Squid для редактирования:

sudo nano /etc/squid/squid.conf

Раскомментируйте и отредактируйте следующие строки, чтобы разрешить доступ к прокси-серверу только для внутренней сети:

http_access allow localnet
http_access deny all

Сохраните и закройте файл.

Настройка маршрутизации

Для обеспечения правильной маршрутизации пакетов необходимо настроить правила iptables.

Установим утилиту для сохранения правил iptables:

sudo apt-get install iptables-persistent

Теперь создадим файл с правилами iptables:

sudo nano /etc/iptables/rules.v4

В этом файле опишем все необходимые правила. Например, если вы хотите разрешить доступ к веб-серверу (находящемуся в локальной сети) из интернета, добавьте следующую строку:

-A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

Сохраните и закройте файл.

Теперь необходимо применить настройки iptables:

sudo iptables-restore < /etc/iptables/rules.v4

Настройка маршрутизации пакетов PPPoE-соединения

Если ваш интернет-шлюз использует PPPoE-соединение, выполните следующие действия:

Откройте файл настроек PPPoE-соединения для редактирования:

sudo nano /etc/ppp/peers/provider

Назначьте имя интерфейсу:

ifname eth0

Сохраните и закройте файл.

Теперь выполните следующие команды для настройки маршрутизации:

sudo ip link set dev eth0 up
sudo ip route add default via ip_вашего_провайдера

Замените ip_вашего_провайдера на IP-адрес вашего провайдера.

После завершения всех настроек перезагрузите сервер:

sudo reboot

После перезагрузки интернет-шлюз должен полностью обеспечить связь между вашей локальной сетью и интернетом.

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

При настройке интернет-шлюза на базе Ubuntu Server 18.04 LTS важно создать и сохранить правила netfilter, которые управляют трафиком и обеспечивают безопасность сети. Пакет netfilter в Ubuntu называется iptables. С помощью него можно просмотреть, создать и изменить правила.

Основная настройка netfilter происходит в файле /etc/iptables/rules.v4. Чтобы посмотреть текущие правила, можно использовать команду:

sudo iptables-restore -n < /etc/iptables/rules.v4
sudo iptables -L

В режиме прокси-сервера netfilter симулирует сеть между двумя компьютерами: одним, который настраивается как интернет-шлюз, и другим, который получает доступ к Интернету через этот сервер. В этом режиме для настройки правил netfilter можно использовать команды iptables на сервере или GUI-утилиты, такие как firestarter.

Если у вас имеется только одна машина, вы можете создать виртуальную машину, чтобы симулировать наличие нескольких компьютеров. В этом случае можно использовать функцию виртуализации, такую как VirtualBox или VMware, чтобы создать виртуальные машины.

Для создания нового правила необходимо редактировать файл /etc/iptables/rules.v4:

sudo nano /etc/iptables/rules.v4

В этом файле каждая строчка представляет собой одно правило, состоящее из источника, назначения, портов и действий. Создадим простое правило, которое позволит компьютеру pc-1 получить доступ к Интернету:

-A FORWARD -i enp0s3 -o enp0s8 -j ACCEPT

Это правило разрешает передачу пакета с интерфейса enp0s3 (источник) на интерфейс enp0s8 (назначение). Для применения правила необходимо перезапустить службу iptables:

sudo service iptables restart

Чтобы автоматически применять созданные правила при каждой загрузке системы, нужно настроить netfilter для автоматической загрузки правил при старте компьютера. Для этого нужно создать скрипт, который будет запускаться при старте, и сделать ссылку на него из директории /etc/rc5.d. Например, можно создать файл с именем /etc/rc.local и добавить следующие команды:

#!/bin/sh
iptables-restore < /etc/iptables/rules.v4

Затем нужно разрешить выполнение этого скрипта:

sudo chmod +x /etc/rc.local

Теперь правила будут автоматически загружаться при старте компьютера.

Видео:

Настройка сети в Ubuntu 20.04

Настройка сети в Ubuntu 20.04 автор: OSINT Zone | Блог Черевко Андрея 878 переглядів 8 місяців тому 2 хвилини і 58 секунд

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