Интернет-шлюз на базе Ubuntu Server. Решение
- Интернет-шлюз на базе Ubuntu Server. Решение
- Ubuntu gateway Server. How to set the default gateway on Ubuntu
- Настройка шлюза Ubuntu. Настройка проводной сети
- Ubunt. 04 router. Настройка сети в Ubuntu Serve. 04 LTS
- Ubuntu Serve. 04 настройка шлюза. Настройка файервола Ubuntu Server
- Интернет шлюз на Linux готовое решение. Пошаговая настройка прозрачного шлюза на Linux
- Ubunt. 04 nat. Ubunt. 04 LTS. Что нового?
- Как поменять шлюз в Ubuntu. Ubuntu -> Настройка шлюза локальной сети, на базе Ubunt. 04
- Iptables шлюз. Настройка интернет-шлюза
Интернет-шлюз на базе Ubuntu Server. Решение
Для определённости будем называть компьютер с двумя сетевыми картами сервером , каковым он по сути и будет являться, а другой компьютер будет клиентом .
Чтобы решить одну большую задачу, нужно разбить её на много маленьких и решать постепенно. В нашем случае эти задачи выглядят следующим образом:
- Настроить подключение к интернету через pppoe на сервере
- Настроить подключение между домашними компьютерами (сервером и клиентом), это будет домашняя локальная сеть
- Настроить шлюз, то есть трансляцию пакетов между домашней локальной сетью и интернетом
Сейчас у нас на сервере следующие сетевые интерфейсы: локальная петля lo , первая сетевая карта eth0 и вторая сетевая карта eth1 . Опять же, для определённости будем считать, что eth0 - это сетевая карта с интернетом (в неё воткнут кабель провайдера), а eth1 - сетевая карта с кабелем домашней локальной сети, то есть с кабелем от второго компьютера, от клиента.
Практически все настройки производятся на сервере.
Настройка подключения к интернету через pppoe
Запускаем в консоли от имени суперпользователя:
pppoeconf
Начнётся процедура настройки, в которой нам предстоит ответить на несколько вопросов. Процедура понятная и не очень сложная. Важнее то, что после настройки у нас появится новый сетевой интерфейс: ppp0 .
Сетевой интерфейс ppp0 работает на интерфейсе eth0 . Его можно включить и выключить следующими командами:
# включение интерфейса с заданными ранее настройками: pon dsl-provider # выключение интерфейса: poff
При включении ppp0 все необходимые сетевые настройки передаёт нам провайдер, вернее, его сервер pppoe . Для того, чтобы в отсутствие интернета безболезненно пользоваться локальной сетью провайдера, надо сделать ещё несколько телодвижений.
Настраиваем интерфейс eth0 .
Файл /etc/network/interfaces
… auto eth0 iface eth0 inet static # Настройки для подключения, выданные провайдером: address ip_адрес netmask маска_подсети gateway ip_адрес_шлюза …
Прописываем адреса DNS провайдера, чтобы иметь доступ к локальным ресурсам по именам.
Файл /etc/resolv.conf
# Снова настройки от провайдера: nameserver ip_адрес_DNS1 nameserver ip_адрес_DNS2
В моём случае для работы с провайдерской локалкой больше ничего и не надо.
Настройка подключения между домашними компьютерами
Соединяем домашние клиент и сервер кабелем, желательно обжатым по схеме crossover . Можно и обычным патчем, современные сетевые карты умеют работать и так.
Выбираем подсеть для домашней локальной сети, желательно чтобы она не пересекалась с адресами провайдера. Допустим, такую: 10.0.0.0/24 . Это означает, что адреса нашей сети будут иметь вид 10.0.0.х , где х - число от 1 до 255, с маской подсети 255.255.255.0 .
Задаём адреса из выбранной подсети клиенту и серверу. Когда связь между компьютерами появится - идём дальше.
Ubuntu gateway Server. How to set the default gateway on Ubuntu
To access the internet, a gateway plays a vital role. For accessing other devices on a network or devices like computers, they need to be configured either automatically or manually by a network or system administrator. Communication between different devices is necessary to route data packets when they travel across a network. A system’s routing table decides which network interface should send these packets to remote systems or devices. Network devices are used for this purpose, although routing can be performed by any device configured as a router.
A default gateway is used for traffic not destined for the local network and for which no particular route is preferred inside the routing table. Similarly, traffic of static routes must not or need not pass via a default gateway. Traditionally, a default gateway serves as the dedicated network router.
What will we cover?
This guide will learn how to set up a default gateway on Ubuntu 20.04 (Focal Fossa) OS using the ‘ip route’ and ‘route’ command. Let us get started with this HowTo.
What are the Prerequisites?
Before you start with this tutorial, look at the following requirements:
- Ubuntu 20.04 installed on your system with internet connectivity.
- Root user account or user account with ‘sudo’ privileges.
- Basic knowledge of computer networks and Ubuntu administration.
Precaution : Please note that this is a very advanced technical guide. Only attempt to follow this guide if you know what you are doing. If you are a novice and end up messing with network configuration, you may lose your connection to the internet.
Experimental Setup
For this guide, we will use IP 192.168.56.4 (enp0s8) as the default gateway address, the IP address of one of the interfaces on our Ubuntu machine (VM1). The other interface has a different IP address which is 192.168.57.5 (enp0s3). Now comes the VM2, which has only one interface with IP address 192.168.56.101 (enp0s3). It is clear that VM2 enp0s3 cannot access VM1 enp0s3 as both are on different network addresses.
Our task is to make both VMs communicate on interfaces with different network addresses. We will set the IP of VM1(192.168.56.4) as a gateway for another machine (VM2), and we will then check by pinging VM1 from VM2 to see if it can reach it the gateway.
Finding the Default Gateway IP
Let us first check the default gateway that is already set on our machine, for this run the command:
ip route
This will display the default gateway on the terminal.
Alternatively, we can use the ‘route’ command for the same purpose:
route -n
If you get an error like ‘ Command ‘route’ not found ’, then you can install the ‘route’ command with:
sudo apt install net-tools
Check the UG flag to look for the Gateway. Routing table flags and their meanings are given below:
U : UP— indicates that the route is up and valid
H : Host— target is to a host
G : Gateway—means that the route is to a gateway
The output of the above two commands is almost identical. Another way is to use the ‘ netstat -rn ’ command to check the gateway IP.
Setting Default Gateway Using the ‘ip’ Command
First, we will use the ‘ ip ’ command to set the default gateway on VM2. For this, follow the steps mentioned below:
Step 1. Open a terminal (Ctrl+Alt+F2) and run the command:
sudo ip route add default via 192.168.56.4
Step 2. Now ping the VM1 from VM2 to check if our gateway is accessible:
ping -c3 192.168.57.5
To delete the above default route, use the command below:
sudo ip route del default via 192.168.56.4
To confirm the above changes, use the “ route -n ” command.
Setting Default Gateway Using the ‘route’ Command
Now we will use the ‘ route ’ command to set the default gateway on VM2. For this, follow the steps mentioned below:
Step 1. Open a terminal (Ctrl+Alt+F2) and run the command:
sudo route add default gw 192.168.56.4
Step 2. Now ping the VM1 from VM2 to check if our gateway is accessible:
ping -c3 192.168.57.5
To delete the above default route, use the command below:
sudo route del default gw 192.168.56.4
To confirm the above changes, use the “route -n” command.
Conclusion
In this guide, we have learned about setting the default gateway on Ubuntu 20.04. Try to make different scenarios of devices and connect them using a common gateway.
Настройка шлюза Ubuntu. Настройка проводной сети
Настройка IP-адреса, шлюза по умолчанию, маски подсети
Отредактируйте файл конфигурации /etc/network/interfaces
, например так:
$ sudo nano /etc/network/interfaces
И допишите в него:
Для статического IP:
iface eth0 inet static address 192.168.0.1 netmask 255.255.255.0 gateway 192.168.0.254 dns-nameservers 192.168.0.254 8.8.8.8 auto eth0
Где:
iface eth0 inet static
- указывает, что интерфейс (iface eth0
) находится в диапазоне адресов IPv4 (inet
) со статическим ip (static
);
address 192.168.0.1
- указывает что IP адрес (address) нашей сетевой карты 192.168.0.1;
netmask 255.255.255.0
- указывает что наша маска подсети (netmask) имеет значение 255.255.255.0;
gateway 192.168.0.254
- адрес шлюза (gateway
) по умолчанию 192.168.0.254;
dns-nameservers 192.168.0.254 8.8.8.8
- адресаDNSсерверов (о ниж мы расскажем позже)
auto eth0
- указывет системе что интерфейсeth0
необходимо включать автоматически при загрузке системы с вышеуказанными параметрами.
eth0 - имя подключаемого своего интерфейса. Список интерфейсов можно посмотреть набрав:
$ ip addr
В итоге файл /etc/network/interfaces
должен выглядеть примерно так:
(для одного проводного соединения со статическим IP)
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # Моя проводная сеть. iface eth0 inet static address 192.168.0.1 netmask 255.255.255.0 gateway 192.168.0.254 dns-nameservers 192.168.0.254 8.8.8.8 auto eth0
Сохраните файл и закройте редактор. В данном примере (редактор nano) - нажмитеCtrl+X, затемY, убедитесь, что «Имя файла для записи» - /etc/network/interfaces и нажмитеEnter.
Более подробно про синтаксис файла /etc/network/interfaces
можно прочитать в документации .
Ubunt. 04 router. Настройка сети в Ubuntu Serve. 04 LTS
Сегодня в статье рассмотрим примеры по Настройки сети в Ubuntu Server 20.04 LTS
— это инструмент для управления настройками сети, представленный в Ubuntu начиная с версии 17.10 и выше.
Этот инструмент заменяет файл статических интерфейсов/etc/network/interfaces
, который ранее использовался для настройки сетевых интерфейсов в Ubuntu. Теперь вы должны использовать/etc/netplan/*.yaml
для ваших изменений в Ubuntu.
Новый файл конфигурации интерфейсов как вы поняли находится в каталоге/etc/netplan/*.yaml
.После чистой установки дистрибутива Ubuntu Server 20.04 в данной директории находится всего один файл. У меня он называется50-cloud-init.yaml
Не забываем о синтаксисе данного файла. Табуляция не используется и количество пробелов должно быть одинаково для одноименных категорий.
Полезное.Ещё стоит напомнить что для конфигурирования сети могут быть использованы рендера — NetworkManager и networkd .
NetworkManager в основном используется на настольных компьютерах, а networkd в серверных дистрибутивах, хотя никто не мешает использовать их и в обратном порядке.
При использовании NetworkManager в качестве средства визуализации для управления интерфейсами будет использоваться графический интерфейс NetworkManager.
Настройка сети в Ubuntu Server 20.04
Есть два пути настройки сетевых интерфейсов:
- Получение IP адресов при помощи DHCP — автоматическая настройка
- Настройка статических IP адресов
Если вы используете какой либо маршрутизатор, то идем по первому пути. Но сначала давайте определимся с именами интерфейсов в нашей системе. Для этого воспользуемся командой ifconfig .
Ubuntu Serve. 04 настройка шлюза. Настройка файервола Ubuntu Server
Первым делом после подключения сервера к Интернет необходимо включить межсетевой экран (фаервол, firewall)
- Перед включением файервола нужно оставить себе доступ по SSH, для дальнейшей настройки сервера. Следующая команда откроет порт SSH для всех:
$ sudo ufw allow 22/tcp
Однако лучше оставить порт открытым только для внутренней сети:
$ sudo ufw allow proto tcp from 192.168.1.0/24 to 192.168.1.1 port 22
- Включим политику блокировать всё остальное
$ sudo ufw default deny
- Включаем в файерволе форвардинг пакетов — необходимо, чтобы наш шлюз мог пересылать пакеты из внутренней сети в интернет и обратно. Для этого отредактируем файл /etc/default/ufw
DEFAULT_FORWARD_POLICY="ACCEPT"
- в /etc/sysctl.conf раскомментируем строчку net.ipv4.ip_forward=1 аналогично для ip6 net.ipv6.conf.default.forwarding=1 (при необходимости) после чего необходимо выполнить команду:
$ sudo sysctl -p
Этот параметр так же можно изменить в файле /etc/ufw/sysctl.conf, он применится при включении UFW. В последнем случае синтаксис немного отличается (вместо точек слэши) net/ipv4/ip_forwarding. Включенная настройка в /etc/ufw/sysctl.conf перекрывает настройки заданные в /etc/sysctl.conf.
- Включаем NAT для этого добавляем в файл /etc/ufw/before.rules сразу после заголовочного комментария
# Табица NAT *nat :PREROUTING ACCEPT :POSTROUTING ACCEPT #Очистка -F PREROUTING -F POSTROUTING # включаем трансляцию из сети 192.168.1.0 через интерфейс подключенный к интернету (eth1) -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j MASQUERADE # NAT клиентов различных IM сетей, ICQ, Jabber, Mail.Ru -A POSTROUTING -p tcp -m tcp -m multiport -s 192.168.1.0/255.255.255.0 -o eth1 -j MASQUERADE --dports 5190,5222,5223,2041,2042 # перенаправление. все http запросы на порт прокси (прозрачный прокси) #-A PREROUTING -s 192.168.1.0/24 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128 # don't delete the 'COMMIT' line or these nat table rules won't be processed COMMIT
- перезапускаем файервол
$ sudo ufw disable && sudo ufw enable
- Добавим разрешение для внутренней сети:
$ sudo ufw allow from 192.168.1.0/24
Для более тонкой настройки безопасности рекомендуется ограничить так же доступ из внутренней сети только к необходимым портам.
Интернет шлюз на Linux готовое решение. Пошаговая настройка прозрачного шлюза на Linux
Сегодня настроим интернет шлюз для локальной сети на основе linux дистрибутива Astra. Выполним подготовку сервера и реализуем основной функционал, необходимый для выхода в интернет из локальной сети.
На сервере имеются 2 сетевых интерфейса:
Интерфейс | Описание | IP |
eth0 | внешний интерфейс, подключен к провайдеру, настройки получает по dhcp автоматически (уже настроен) | 212.57.114.21 |
eth1 | внутренний интерфейс, смотрит в локальную сеть, статический ip адрес | 192.168.0.1 |
Файл конфигурации сетевых интерфейсов выглядит следующим образом:
source /etc/network/interfaces.d/* auto lo iface lo inet loopback allow-hotplug eth0 iface eth0 inet dhcp allow-hotplug eth1 iface eth1 inet static address 10.0.15.1 netmask 255.255.255.0
Если интерфейс настроен при установке через network manager, то в списке мы его не увидим, но это не означает, что «всё пропало».
Подготовка шлюза
Сеть на будущем программном роутере настроили, доступ в интернет на сервере есть. Для начала обновим его:
# apt-get update # apt-get upgrade
* Тут и далее запускаться будет от рута, потому что лень постоянно писать «sudo» , да и кто нам запретит в конце концов =)
Установим MC, мне в нем удобнее всего работать, в том числе в редакторе mcedit :
# apt-get -y install mc
* можно обойтись и nano/vi
Далее включим маршрутизацию пакетов между сетевыми интерфейсами. Для этого редактируем конфиг /etc/sysctl.conf :
# mcedit /etc/sysctl.conf net.ipv4.ip_forward=1
И применяем эту настройку:
# sysctl -p
На выходе работы команды в консоли будет выведен измененный параметр со значением 1.
Следующие команды настроят ваш iptables для NAT-трансляции (NAT, Network Address Translation — «преобразование сетевых адресов») через наш шлюз:
# iptables -A FORWARD -i eth0 -o eth1 -s 192.168.0.0/24 -m conntrack —ctstate NEW -j ACCEPT# iptables -A FORWARD -m conntrack —ctstate ESTABLISHED,RELATED -j ACCEPT# iptables -A POSTROUTING -t nat -j MASQUERADE
Если необходимые вам сетевые интерфейсы отличаются от eth0 и eth1, то просто измените первую строку соответствующим образом.Если ваша локальная сеть находится вне диапазона 192.168.x.x, то маску подсети для указания в первой строке вы сможете легко вычислить через.
После этого ваш интернет-шлюз готов к работе. Можете настраивать клиентские машины. На нашем примере для них gateway будет 192.168.0.1
Если все внесенные вами изменения работают корректно и вы желаете внести эти настройки в автозагрузку (а именно, вышеприведенные настройки iptables теряют активность после перезагрузки системы), то сохраните нынешнюю рабочую конфигурацию iptables в файл командой:
# sh -c «iptables-save > /etc/iptables.up.rules»
После этого в сам файл сетевых настроек /etc/network/interfaces (sudo nano /etc/network/interfaces
) к параметрам вашего сетевого интерфейса, например, из которого к вам поступает интернет (в нашем случае – это eth0, хотя на самом деле можно к любому) добавьте строку:
pre-up iptables-restore
То есть оно станет примерно такого вида:
auto eth0
iface eth0 inet manual
pre-up iptables-restore
Собственно наш шлюз готов, можем выпускать через него клиентов локальной сети.
Ubunt. 04 nat. Ubunt. 04 LTS. Что нового?
Ubuntu - популярный дистрибутив Linux, который отличается стабильностью, и большим сообществом, благодаря чему стабильные релизы дистрибутивов выходят в срок и имеют продолжительный срок официальной поддержки. Окончание публичной поддержки Ubuntu 20.04 «Focal Fossa» датировано апрелем 2025 года, а приватной 2030 года.
Минимальный требования к ресурсам Ubuntu 20.04 Server Live: 1CPU, 1024Mb RAM и 3GB свободного дискового пространства. Особых отличий Ubuntu 20.04 Server Live от Ubuntu 20.04 Desktop нет, оба используют один и тот же репозиторий, ядро имеет ту же конфигурацию, но в исталяторе серверной версии «из коробки» не предусмотрено графическое окружение и программное обеспечение характерное для настольных версий.
Что нового в Ubuntu 20.04? Стоит отметить свежее ядро Linux Kernel 5.4, повышающее производительность и безопасность сервера и некоторые его особенности:
1. В версии 5.4 улучшен Lockdown. Это режим блокировки ядра, который ограничивает доступ пользователя root различными частями функционала ядра, что будет полезно администраторам, которые занимаются его тюнингом. Таким образом, вредоносное п.о, получившее права root, не сможет выполнить свой код и на уровне ядра.
2. Доступен высокопроизводительный драйвер virtio — virtio-fs. Файловая система virtio-fs ускоряет обмен данными между хостом и гостевой системой. Предусмотрен проброс каталогов между ними с более высокой производительностью и совместимостью, чем если бы было использовано, например, NFS.
3. Fs-verity позволяет верифицировать подлинность и целостность файлов по хэшам на уровне файловой системы.
4. Доступен модуль dm-clone, позволяющий клонировать существующее блочное устройство. Например, есть блочное устройство доступное в режиме чтения, модуль позволит создать локальную копию, при этом допустима запись во время процесса клонирования.
5. Реализована защита, запрещающая запись в активные файлы подкачки.
6. Включена поддержка exFAT от Microsoft.
7. Флаги MADV_COLD и MADV_PAGEOUT позволяют определить, какие данные в памяти не критичны для работы процесса. Они перемещают эти данные в SWAP освобождая память.
8. Алгоритма сжатия ядра Linux LZ4 и загрузочного образа initramfs позволяет сократить время загрузки операционной системы.
9. Десятки других изменений, который затронули работу с дисковой и файловой подсистемой, памятью, сетевой подсистемой, аппаратной архитектурой и оборудованием.
Кроме того, в Ubuntu 20.04 реализована полная поддержка Кubernetes 1.18 (MicroK8s и kubeadm), при установке доступны Prometheus, Docker, NextCloud и многое другое. Так же в Ubuntu 20.04 улучшена поддержка ZFS.
Как поменять шлюз в Ubuntu. Ubuntu -> Настройка шлюза локальной сети, на базе Ubunt. 04
     Если у вас есть локальная сеть, то для ее клиентов необходимо предоставить доступ в интернет. Для обеспечения данной возможности необходимо настроить шлюз, который будет принимать запросы клиентов и пересылать их во внешний мир, а поступающие ответы, передавать обратно.
В этой статье, я расскажу как настроить шлюз для локальной сети на Ubuntu, схема его работы очень простая, но и защиты он не обеспечивает. Существует распространенное заблуждение что NAT ( Network Address Translation -транслятор сетевых адресов) обеспечивает защиту от внешних угроз, но это далеко не так, у него совершенно другое назначение, фактически это дверь, которая открывается в обе стороны, со всеми вытекающими последствиями…
Если есть необходимость в повышении уровня безопасности, а такая необходимость есть всегда, то тут нужно настраивать «фаерволл», я намеренно не привожу никаких правил на этот случай, т.к. они настраиваются исходя из конкретных задач.
В целом, данная статья планировалась как база, для статей на ближайшие пару лет, на ее основе можно развернуть целую кучу серверов, фактический, данный сервер может обрастать функционалом, исходя из ваших задач и потребностей.
Для работы нам понадобится
1) Система с двумя сетевыми картами-которая будет выполнять функцию шлюза.
2) Клиентский ПК, с которого мы будем тестировать работу шлюза.
Схема работы:
Предполагается, что операционная система у вас установлена, на сервере который имеет 2 сетевых интерфейса.
eth0 — подключение к интернет. (может получать IP адрес динамически, может иметь статический, я опишу оба варианта)
eth1 — подключение к локальной сети, будет иметь статический IP 192.168.10.1 и маску 255.255.255.0
Также, для тестирования нам понадобится клиентская машина, которая будет находиться в локальной сети (операционная система значения не имеет).
Первым делом, настраиваем сетевые интерфейсы сервера:
Поднимаем права до root
sudo su
Редактируем настройки сетевых интерфейсов:
nano /etc/network/interfaces
Вариант №1- Получение IP по DHCP от провайдера:
auto eth0
iface eth0 inet dhcp
auto eth0
iface eth0 inet static
address XXX.XXX.XXX.XXX
netmask 255.YYY.YYY.YYY
gateway XXX.XXX.XXX.XXX
dns-nameservers ZZZ.ZZZ.ZZZ.ZZZ
Вместо XXX.XXX.XXX.XXX вписываем IP адрес, который мы получили от провайдера
Вместо 255.YYY.YYY.YYY -выписываем маску подсети.
Ну и вместо ZZZ.ZZZ.ZZZ.ZZZ вписываем IP адрес DNS сервера.
Настраиваем eth1 (по которому подключается локальная сеть)
auto eth1
iface eth1 inet static
address 192.168.10.1
netmask 255.255.255.0
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address XXX.XXX.XXX.XXX
netmask 255.YYY.YYY.YYY
gateway XXX.XXX.XXX.XXX
auto eth1
iface eth1 inet static
address 192.168.10.1
netmask 255.255.255.0
Перезапустим сеть:
/etc/init.d/networking restart
Переходим на к нашему тестовому клиенту, т.к. у нас в сети нет DHCP сервера, то IP адрес мы будем назначать в ручную.
Присваиваем клиенту:
IP 192.168.10.2
маску подсети 255.255.255.0
шлюз 192.168.10.1
DNS 192.168.10.1
пробуем с клиента принговать 192.168.10.1 — запросы должны бегать нормально.
Переходим на наш шлюз.
Установим пакет dnsmasq , он необходим для перенаправления DNS запросов, вышестоящим серверам.
apt-get install dnsmasq
Сервер: UnKnownОтлично, разрешение имен работает, но если мы попробуем открыть страницу mail.ru , то у нас ничего не получится, потому что не настроена маршрутизация пакетов.
Address: 192.168.10.1
Имя: mail.ru
Addresses: 94.100.191.201
94.100.191.204
94.100.191.203
94.100.191.202
Настроим ее:
Первым делом, разрешаем перенаправление пакетов:
net.ipv4.ip_forward=1
Теперь, нам необходимо добавить правила для маршрутизации пакетов:
nano /etc/rc.local
iptables -F
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth0 -o eth0 -j REJECT
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
Сохраняем изменения, и перезагружаем сервер
reboot
Вот так, настраивается шлюз для локальной сети. Это, одно из самых простых решений.
Iptables шлюз. Настройка интернет-шлюза
Виртуальная машинаrouter
должна обеспечивать выход в интернет для всех компьютеров из локальной сети192.168.30.0/24
. По умолчанию транзитный трафик отключен, так что редактируем файл/etc/sysctl.conf
:
$ sudo nano /etc/sysctl.conf
net.ipv4.ip_forward=1
Чтобы внесенные изменения вступили в силу:
$ sudo sysctl -p /etc/sysctl.conf net.ipv4.ip_forward = 1
После этого настраиваемnetfilter
с помощью утилитыiptables
:
$ sudo iptables -P FORWARD DROP
$ sudo iptables -A FORWARD -i enp0s8 -o enp0s3 -s 192.168.30.0/24 -j ACCEPT $ sudo iptables -A FORWARD -i enp0s3 -o enp0s8 -d 192.168.30.0/24 -j ACCEPT
И смотрим, что получилось:
$ sudo iptables -L -v --line-numbers Chain INPUT (policy ACCEPT 781 packets, 4517K bytes) num pkts bytes target prot opt in out source destination Chain FORWARD (policy DROP 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 57 4213 ACCEPT all -- enp0s8 enp0s3 192.168.30.0/24 anywhere 2 52 87384 ACCEPT all -- enp0s3 enp0s8 anywhere 192.168.30.0/24 Chain OUTPUT (policy ACCEPT 639 packets, 49312 bytes) num pkts bytes target prot opt in out source destination
Мы разрешили ходить транзитным пакетам для нашего диапазона ip-адресов, а всё остальное запретили. Теперь настроим SNAT (подмена адреса источника), что позволит всем компьютерам сети выходить в интернет, используя единственный ip-адрес192.168.110.8
.