Настройка nat astra linux

Astra Linux IP Forwarding

В этой статье поговорим о пробросе портов или IP Forwarding, используя ОС Astra Linux и утилиту iptables.

Начальные данные

У нас имеется компьютер под управлением Astra Linux с двумя сетевыми интерфейсами. Также в сети есть ещё одна машина с одним сетевым интерфейсом, которой выход в Интернет недоступен.

Требуется пробросить tcp порт (2222) с белого ip-адреса расположенного на ПК подключенного к Интернету, на серый ip-адрес Локальной сети порт (22).

Чаще всего проброс трафика используется, если мы находимся в локальной сети и от внешнего мира отделены шлюзом. Для того, чтобы открыть доступ для локальных служб (ssh, web, ftp и т.д.), нам необходимо пробросить порты. Поскольку в качестве шлюза мы будем использовать Astra Linux, то осуществлять данные действия будем с помощью встроенной утилиты iptables.

Алгоритм проброса портов в iptables.

В принципе все довольно просто, необходимо добавить всего несколько правил в таблицу маршрутизации iptables. Но для начала нам нужно включить форвардинг пакетов на ПК подключенного к Интернету. Для этого открываем терминал (ctrl+t) и вводим следующие команды:

sudo echo 1 > /proc/sys/net/ipv4/ip_forward sudo sysctl -p

Для того чтобы каждый раз не вводить команды, отредактируем файл /etc/sysctl.conf

Ищем там строку #net.ipv4.ip_forward=1 , и убираем знак комментария.

Также необходимо узнать названия наших сетевых интерфейсов и их IP адреса. Для этого введем следующую команду:

Из вывода нас интересует интерфейсов eth0 с ip-адресом 80.81.82.83 и eth1 – 10.0.7.1. Первый интерфейс подключен к всемирной паутине, а второй к локальной сети.

Настройка port forwarding в Astra Linux

Для перенаправление tcp порта 2222 на tcp порт 22 другой машины, необходимо добавить следующие правила iptables:

sudo iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT

Это правило разрешает прохождение входящих пакетов внутрь сети.

Теперь опишем форвардинг (forwarding) пакетов:

sudo iptables -t nat -A PREROUTING -p tcp -d 80.81.82.83 --dport 2222 -j DNAT --to-destination 10.0.7.2:22 sudo iptables -t nat -A POSTROUTING -p tcp --sport 22 --dst 10.0.7.2 -j SNAT --to-source 80.81.82.83:2222
  • Первая строка подменяет IP адрес приемника (белый IP) на внутренний (серый IP)
  • Вторая адрес отправителя (серый IP) на внешний (белый IP).
  • 10.0.7.2 — IP адрес машины в локальной сети, на который перенаправляет трафик.
  • 80.81.82.83 — внешний IP адрес нашего сервера.
  • 22 — внутренний порт локальной машины
  • 2222 — внешний порт для подключения.
  • tcp – может принимать значения tcp или udp в зависимости от того какой порт вам необходимо прикинуть.

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

содержимое файла по первому примеру:

#!/bin/sh # Перенаправляем ssh с 2222 на 22 IP-10.0.7.2 iptables -t nat -A PREROUTING -p tcp -d 80.81.82.83 --dport 2222 -j DNAT --to-destination 10.0.7.2:22 iptables -t nat -A POSTROUTING -p tcp -dst 10.0.7.2 --sport 22 -j SNAT --to-source 80.81.82.83:2222

Далее открываем файл interfaces

sudo nano /etc/network/interfaces

И добавляем в конце следующую строчку:

Читайте также:  Steam for linux client

Данное выражение подгрузить правила iptables после перезагрузки системы.

Как посмотреть правила iptables

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

Chain PREROUTING (policy ACCEPT) target prot opt source destination DNAT tcp -- anywhere 80.81.82.83 tcp dpt:2222 to:10.0.7.2:22 Chain POSTROUTING (policy ACCEPT) SNAT tcp -- 10.0.7.2 anywhere tcp spt:ssh to:80.81.82.83:2222

Вот и все, на этом проброс портов в Astra Linux с помощью iptables завершено.

Если есть вопросы, то пишем в комментариях.

Также можете вступить в Телеграм канал, ВКонтакте или подписаться на Twitter. Ссылки в шапке страницы.
Заранее всем спасибо.

RSS

Добавление RSS-ленты на главную страницу этого сайта не поддерживается, так как это может привести к зацикливанию, замедляющему работу вашего сайта. Попробуйте использовать другой блок, например блок Последние записи, для отображения записей сайта.

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

linux-logo

Сегодня в статье настроим и русифицируем Ubuntu Server 16.04/18.04/20.04. Чтобы поддерживался русский язык, и перевод системы стал русским

dns_bind9

Начиная с сентября 2017 года удостоверяющим центрам предписано обязательно проверять CAA-записи в DNS перед генерацией сертификата

linux-logo

В этой статье рассмотрим пример обновления Ubuntu Server 16.04 до Ubuntu Server 18.04 Все наши действия нам придется выполнять из Читать

В связи с последними блокировками IP-адресов Роскомнадзором, встала необходимость завести свой собственный VPN сервер. Если VPN у вас ещё не Читать

Источник

Настройка nat astra linux

Источник: yakadr.ru

Источник: yakadr.ru Astra Linux – это операционная система на базе Linux, которая активно используется в ряде государственных структур и организаций России. Одной из особенностей Astra Linux является её высокий уровень безопасности, который достигается, в частности, благодаря тщательной настройке сетевых параметров. В этой статье мы рассмотрим, как работать с iptables и Netfilter в Astra Linux.

Установка Astra Linux

Перед тем как начать, убедитесь, что у вас установлен Astra Linux. Если вы ещё не установили Astra Linux, вам потребуется загрузочный образ системы. После загрузки образа на устройство, следуйте инструкциям по установке, предоставленным разработчиками.

Основы работы с iptables и Netfilter

iptables – это пользовательский интерфейс для работы с механизмом фильтрации пакетов в ядре Linux, известным как Netfilter. С помощью iptables можно настраивать правила, которые определяют, как будут обрабатываться входящие и исходящие пакеты данных. Вот основные команды, которые вы можете использовать при работе с iptables в Astra Linux:

Эта команда отображает список текущих правил iptables.

iptables -A INPUT -s -j DROP 

Замените на адрес, который вы хотите заблокировать. Эта команда добавляет правило, которое блокирует все входящие пакеты от указанного IP-адреса.

Эта команда удаляет все текущие правила iptables.

Не забывайте о том, что все изменения, внесённые с помощью iptables, будут сброшены после перезагрузки системы. Чтобы сделать изменения постоянными, вы можете использовать

iptables-save > /etc/iptables.rules 

для сохранения текущих правил и

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

Читайте также:  Создание rpm пакет linux

Использование iptables и Netfilter является ключевым элементом безопасности в Astra Linux, позволяя контролировать трафик и предотвращать несанкционированный доступ.

Источник

Интернет шлюз на базе Astra Linux

Решил немного поизучать AL релиз Орел, и возникла проблема с расшариванием интернета. Тестовый стенд, в VirtualBox, есть две гостевых машины:
1. Windows 7 с одним сетевым интерфейсом — внутренняя сеть. В качестве шлюза по умолчанию стоит 192.168.1.1
1. Astra Linux, с двумя сетевыми адаптерами, первый eth0 — nat, второй eth1 — внутренняя сеть.
Конфигурация интерфейсов:

allow-hotplug eth0
iface eth0 inet dhcp

allow-hotplug eth1
iface eth1 inet static
address 192.168.1.1
netmask 255.255.255.0
broadcast 255.255.255.255
network 192.168.1.0
# также прописана ссылка на правила iptables
post-up iptables-restore < /etc/iptables.up.rules

В sysctl.conf прописано
net.ipv4.ip_forward=1

В правилах iptables прописано:

*nat :PREROUTING ACCEPT [0:0] :INPUT ACCEPT [0:0] :OUTPUT ACCEPT [36:2142] :POSTROUTING ACCEPT [36:2142] -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j MASQUERADE COMMIT

Но в Windows 7 интернет все равно не появляется. Адрес 192.168.1.1 пингутся, а допустим 8.8.8.8 — нет. Что я упускаю? Уже голову сломал, в linux не профи.

oko

New member
  • не настроена поддержка сессий цепочки FORWARD — iptables -A FORWARD -m state —state ESTABLISHED,RELATED -j ACCEPT;
  • цепочка FORWARD вообще по умолчанию блокирует трафик — iptables -P FORWARD DROP (а надо либо общий ACCEPT, либо отдельные правила с ACCEPT по хостам/подсетям);
  • что-то еще сделано не так, как надо (в таблицах filter и mangle, например).
  • косяк в конфигах VirtualBox;
  • косяк в самой VirtualBox и ее работе на хостовой системе;
  • не раздается адрес на eth0 по dhcp при настройке «nat» в сетевом интерфейсе VirtualBox (а вдруг?).

akelot

New member
# Generated by iptables-save v1.6.0 on Tue Sep 17 18:13:03 2019 *filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT DROP [0:0] -A INPUT -i lo -j ACCEPT -A INPUT -i eth1 -j ACCEPT -A INPUT -p icmp -m icmp --icmp-type 0 -j ACCEPT -A INPUT -p icmp -m icmp --icmp-type 3 -j ACCEPT -A INPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -m state --state INVALID -j DROP -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP -A INPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP -A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT -A FORWARD -m state --state INVALID -j DROP -A FORWARD -i eth1 -o eth0 -j ACCEPT -A FORWARD -i eth0 -o eth1 -j REJECT --reject-with icmp-port-unreachable -A OUTPUT -o lo -j ACCEPT -A OUTPUT -o eth1 -j ACCEPT -A OUTPUT -o eth0 -j ACCEPT -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A OUTPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP COMMIT # Completed on Tue Sep 17 18:13:03 2019 # Generated by iptables-save v1.6.0 on Tue Sep 17 18:13:03 2019 *mangle :PREROUTING ACCEPT [1156:220784] :INPUT ACCEPT [1156:220784] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [1156:220570] :POSTROUTING ACCEPT [1156:220570] COMMIT # Completed on Tue Sep 17 18:13:03 2019 # Generated by iptables-save v1.6.0 on Tue Sep 17 18:13:03 2019 *nat :PREROUTING ACCEPT [0:0] :INPUT ACCEPT [0:0] :OUTPUT ACCEPT [36:2142] :POSTROUTING ACCEPT [36:2142] -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j MASQUERADE -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE COMMIT # Completed on Tue Sep 17 18:13:03 2019

Это точно исключено, на астре есть доступ к интернету по интерфейсу eth0, и с винды при условии использования подключения к squid, но трансляции сетевых адресов добиться не получается. Может ли это быть связана с какими-то настройками безопасности во время утсановки ОС? Лично я ничего не выбирал, кроме автологина в систему.

Читайте также:  Linux путь символической ссылки

Источник

Роутер и проброс портов на Astra Linux «Смоленск»

Наша задача — настроить доступ в Интернет для внутренней сети.

Для этого в первую очередь открываем файл настроек сетевых интерфейсов /etc/network/interfaces

# nano /etc/network/interfaces

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

auto eth1 iface eth1 inet static address 192.168.100.1 netmask 255.255.255.0 network 192.168.100.0 broadcast 192.168.100.255

Затем откроем файл /etc/sysctl.conf

и в нём раскомментируем строку:

После этого проверим статус запуска ufw

по умолчанию он будет отключён, поэтому включим его

Зададим правила файрволла по умолчанию

# ufw default deny incoming # ufw default allow outgoing # ufw default allow routed # ufw reload
Status: active Logging: on (low) Default: deny (incoming), allow (outgoing), allow (routed) New profiles: skip To Action From -- ------ ---- 22/tcp ALLOW IN Anywhere Anywhere on eth1 ALLOW IN Anywhere 22/tcp (v6) ALLOW IN Anywhere (v6) Anywhere (v6) on eth1 ALLOW IN Anywhere (v6)

Далее переходим к файлу с правилами /etc/ufw/before.rules

в самом конце добавим строчки:

*nat :POSTROUTING ACCEPT [0:0] -A POSTROUTING -s 192.168.100.0/24 -o eth0 -j MASQUERADE COMMIT

После этого перезапустим ufw методом отключения и включения

Теперь установим службу DNS и DHCP-серверов dnsmasq

скорее всего, после установки она будет активна.

Затем откроем файл конфигурации dnsmasq

и в самом конце файла пропишем такие строки:

domain-needed bogus-priv interface=eth1 resolv-file=/etc/resolv.conf dhcp-range=192.168.100.101,192.168.100.200,24h cache-size=150

Перезагрузим службу dnsmasq

# systemctl restart dnsmasq

и все изменения должны примениться.

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

*nat :POSTROUTING ACCEPT [0:0]
-A PREROUTING -i eth0 -p tcp --dport 1234 -j DNAT --to-destination 192.168.100.11:1234 -A PREROUTING -i eth0 -p udp --dport 5678 -j DNAT --to-destination 192.168.100.12:5678

Далее запустим команды ufw для проброса этих портов

# ufw allow proto tcp from any to 192.168.100.11 port 1234 # ufw allow proto udp from any to 192.168.100.12 port 5678

и перезагрузим службу ufw

В итоге последний раздел файла /etc/ufw/before.rules должен выглядеть примерно так:

*nat :POSTROUTING ACCEPT [0:0] -A PREROUTING -i eth0 -p tcp --dport 1234 -j DNAT --to-destination 192.168.100.11:1234 -A PREROUTING -i eth0 -p udp --dport 5678 -j DNAT --to-destination 192.168.100.12:5678 -A POSTROUTING -s 192.168.100.0/24 -o eth0 -j MASQUERADE COMMIT

Готово! Теперь машина с ОС Astra Linux полноценно работает в режиме шлюза и маршрутизатора.

Похожие посты:

Источник

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