Перейти к содержимому

Ufw iptables чем отличаются в ubuntu

  • автор:

Настройка правил фаервола (iptables) с помощью UFW

Uncomplicated Firewall (ufw) (англ. незамысловатый межсетевой экран) — это межсетевой экран, предназначенный быть простым в использовании. Он использует интерфейс командной строки, состоящий из небольшого числа простых команд, и использует iptables для конфигурации.

GUI for Uncomplicated Firewall (Gufw) (англ. графический интерфейс пользователя для незамысловатого межсетевого экрана) — это, как следует из его названия, графический интерфейс для UFW (Uncomplicated Firewall). Он был разработан для Ubuntu.

UFW предназначен для легкого, интуитивно понятного управления межсетевым экраном Ubuntu. Он поддерживает общие задачи, такие как разрешение или блокирование предварительно настроенных, общих P2P, или отдельных портов. Gufw работает на UFW, запускается на Ubuntu, а также на любой платформе, где доступны Python, GTK+ и UFW.

fail2ban — защита от брутфорса

Шаг 1: Введения в UFW

Все современные решения Линукс по сетевой защите используют подсистему ядра Netfilter (сетевой фильтр).

Система пакетной фильтрации на уровне ядра неудобна для использования без пользовательского интерфейса для её управления. Для управления предназначен iptables. Когда пакет попадает на ваш сервер, он передается подсистеме Netfilter для одобрения, изменения или отказа на основе правил, которые она получает от интерфейса пользователя через iptables. Таким образом iptables — это все, что вам нужно для управления вашей сетевой защитой, но он сложен в настройке. Поэтому был разработан Uncomplicated Firewall (ufw) (незамысловатый межсетевой экран) для легкой настройки iptables. UFW предоставляет дружественный способ создания сетевой защиты для IPv4 и IPv6.

Шаг 2: Установить брандмауэр UFW

UFW устанавливается в Ubuntu по умолчанию во всех случаях, кроме варианта с минимальной установкой. Зачастую я заказываю сервера VPS/VDS с минимальной установкой Ubuntu, поэтому на нем нет iptables.

Если UFW нет, мы можем установить его с помощью команды:

sudo apt install ufw

Часто на серверах по умолчанию включен iptables, крайне не рекомендуется использовать одновременно два инструмента для настройки firewall во избежание конфликта правил. В случае, если у вас одновременно работает и iptables, и ufw, то будет применено последнее созданное правило.

Шаг 2.1: Конфигурационный файл UFW (опционально)

Конфигурационный файл UFW находится в /etc/default/ufw.

Вы можете в нем настроить, например поддержку правил для IPv6. Для поддержки правил IPv6 проверьте параметр IPV6=yes конфигурационного файла.

Политики безопасности по умолчанию также находятся в файле /etc/default/ufw и могут быть изменены с помощью следующей команды:

sudo ufw default deny incoming sudo ufw default allow outgoing

Первое правило запрещает все входящие подключения, второе разрешает исходящие.

Шаг 2.2: Создание профилей приложений для UFW (опционально)

Ufw умеет работать с профилями приложений, находящиеся в каталоге /etc/ufw/applications.d, который определяет приложение или службу и соответствующие им настройки безопасности, например открытые или закрытые порты.

Посмотреть созданные профили можно при помощи команды:

sudo ufw app list

Просмотр детальной информации, например о приложении OpenSSH:

$ sudo ufw app info OpenSSH Profile: OpenSSH Title: Secure shell server, an rshd replacement Description: OpenSSH is a free implementation of the Secure Shell protocol. Port: 22/tcp

Все профили создаются вручную. Для создания профиля приложения перейдите в директорию /etc/ufw/applications.d. Создайте текстовый файл с любым названием и вставьте в него строки следующего формата:

[название_профиля>] title=заголовок> description=краткое описание> ports=список портов>/протокол>

После создания своего приложения запустите команду ufw reload, чтобы брандмауэр увидел ваш файл.

Шаг 3: Первоначальная настройка сетевого фильтра при помощи UFW

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

Закрываем все кроме доступа к сервер по протоколу SSH:

$ sudo ufw app list Available applications: OpenSSH Nginx Full Nginx HTTP Nginx HTTPS OpenSSH Postfix

Разрешаем SSH и Nginx Full

$ sudo ufw allow OpenSSH $ sudo ufw allow 'Nginx Full'
$ sudo ufw enable Command may disrupt existing ssh connections. Proceed with operation (y|n)? y Firewall is active and enabled on system startup

Проверяем что получилось:

$ sudo ufw status verbose Status: active Logging: on (low) Default: deny (incoming), allow (outgoing), disabled (routed) New profiles: skip To Action From -- ------ ---- 22/tcp (OpenSSH) ALLOW IN Anywhere 22/tcp (OpenSSH (v6)) ALLOW IN Anywhere (v6)

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

Шаг 3.1: UFW правила для протокола ICMP

Протокол ICMP должен быть открыт в файрволе всегда!

ufw с одной стороны не позволяет указывать правила icmp с помощью команды интерфейса командной строки. Но он позволяет вам настраивать набор правил с помощью файлов правил, которые представляют собой файлы стиля iptables-restore.

ufw по умолчанию разрешает определенный icmp-трафик, включая эхо-ответ icmp, и это уже настроено по умолчанию в /etc/ufw/before.rules:

-A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT

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

В дистрибутивах Linux на базе Debian, которые поставляются с брандмауэром приложений UFW, вы можете блокировать сообщения ICMP, добавив следующее правило в файл /etc/ufw/before.rules, как показано в приведенном ниже отрывке кода.

-A ufw-before-input -p icmp --icmp-type echo-request -j DROP

Шаг 3.2: Общая настройка логирования UFW и конкретной службы

В Ufw есть опция сохранения логов — журнал событий. По умолчанию логи включены и используется уровень low, что можно проверить командой вывода статуса. Как видите в моем примере настройки по умолчанию Logging: on (low).

ufw status verbose Status: active Logging: on (low)

Для запуска, используйте команду:

ufw logging on

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

off — отключен.

low — регистрирует все заблокированные пакеты, не соответствующие заданной политике (с ограничением скорости), а также пакеты, соответствующие зарегистрированным правилам.

medium — все то, что при значении low. Плюс все разрешенные пакеты, не соответствующие заданной политике, все недопустимые пакеты, и все новые соединения. Все записи ведутся с ограничением скорости.

high — работает также как и medium. Плюс все пакеты с ограничением скорости.
full — также как и high, но без ограниения скорости.

Чтобы задать уровень, укажите его как параметр:

ufw logging high

Файлы относящихся с логам ufw находятся в стандартной директории:

ls /var/log/ufw* /var/log/ufw.log /var/log/ufw.log.1 /var/log/ufw.log.2.gz

Вы можете добавить правило ведения журнала, если хотите отслеживать определенные службы. Я бы рекомендовал вам изменить уровень ведения журнала на low, чтобы в журналах было меньше беспорядка. Чтобы добавить правило ведения журнала, вам просто нужно следовать синтаксису команды:

ufw allow log service_name

Например, добавим правило журнала для порта 22 протокола SSH:

ufw allow log 22/tcp

Шаг 4: Настройка NAT (преобразование сетевых адресов) в UFW

Настройка NAT к сожалению не простая задача и нужно править конфигурационные файл UFW before.rules вручную. Чтобы не дублировать контент, все подробно описано в статье Настройка UFW (iptables) для OpenVPN.

Также не забываем включать преобразование NAT на уровне ядра Linux, описано в той же статье.

Расширенное использование UFW: лучшие команды брандмауэра UFW

sudo ufw enable — активировать UFW для применения внесённых изменений.
sudo ufw disable — деактивировать UFW.
Посмотреть статус сетевой защиты — з варианта:

sudo ufw status sudo ufw status verbose sudo ufw status numbered
Status: active To Action From -- ------ ---- 22 LIMIT Anywhere 443 ALLOW Anywhere 80 ALLOW Anywhere 22 (v6) LIMIT Anywhere (v6) 443 (v6) ALLOW Anywhere (v6) 80 (v6) ALLOW Anywhere (v6)

Возможно разрешить доступ для определенных хостов или сетей. Следующий пример показывает как разрешить доступ хосту с ip адресом 192.168.0.2 на хост с любым ip по протоколу SOCKS. Если заменить 192.168.0.2 на 192.168.0.0/24 то мы разрешим протокол для любого хоста этой локальной сети. Добавление опции –dry-run команде ufw выведет список правил, но не применит их.

sudo ufw --dry-run allow proto tcp from 192.168.0.2 to any port 1080

Простые варианты разрешения доступа с удаленного IP и открытие порта

ufw allow from xxx.xxx.xxx.xxx ufw allow 6000:6007/tcp ufw allow 6000:6007/udp
sudo ufw allow proto tcp from 192.168.0.2 to any port 1080

Правила могут быть добавлены с использованием нумерованного формата:

sudo ufw insert 1 allow proto tcp from 37.73.96.0/20 to any port 1080

Для удаления правила используйте delete:

sudo ufw delete deny proto tcp from any to any port 1080

Отключение или сброс UFW

Если вы уже настроили правила UFW, но решите начать заново, вы можете использовать эту команду.

ufw reset

Эта команда отключит UFW и удалит все ранее заданные правила, кроме правил по умолчанию. Правила по умолчанию (запрет входящих соединений и разрешение исходящих.) задаются командами:

sudo ufw default deny incoming sudo ufw default allow outgoing

Удаление правил UFW

Существует два способа удаления правил. Первый — по номеру правила. Выполните команду:

ufw status numbered tatus: active To Action From -- ------ ---- [ 1] 22 ALLOW IN Anywhere [ 2] 80 ALLOW IN Anywhere [ 3] 22 (v6) ALLOW IN Anywhere (v6) [ 4] 80 (v6) ALLOW IN Anywhere (v6)

После этого выполните команду ufw delete и укажите номер правила, которое следует удалить, например правило 2:

ufw delete 2

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

ufw delete allow http или ufw delete allow 80

Iptables или UFW | Настройка OpenVPN Server?

Есть VPS сервер с Ubuntu на EC2 Amazon. Настраиваю OpenVPN сервер. Нашел очень хороший туториал под нынешнюю версию OpenVPN с Easy-rsa 3, но в ней UFW. Базовую настройку сделал хорошо. Вот не могу понять как настроить firewall, на некоторых статьях пишут конфиг под iptables на других под UFW. Самому же больше хочется стандартный iptables.

Хотел бы понять следующие конфигурации UFW и переписать их под iptables.

Правила в /etc/ufw/before.rules

# START OPENVPN RULES # NAT table rules *nat :POSTROUTING ACCEPT [0:0] # Allow traffic from OpenVPN client to eth0 -A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE COMMIT # END OPENVPN RULES

В файле /etc/default/ufw
DEFAULT_FORWARD_POLICY=»ACCEPT»

Еще команды для UFW

$ sudo ufw allow 1194/udp $ sudo ufw allow OpenSSH

Для наглядности приведу из другой статьи настройку iptables

iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

Вот еще другие настройки под iptables

iptables -A FORWARD -s 10.128.0.0/24 -j ACCEPT iptables -A FORWARD -d 10.128.0.0/24 -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -t nat -A POSTROUTING -s 10.128.0.0/24 -j SNAT --to-source 123.45.67.89

Помогите кто может.

  • Вопрос задан более трёх лет назад
  • 8286 просмотров

1 комментарий

Оценить 1 комментарий

Ключевое тут — NAT
Поэтому попробуйте
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

где 10.8.0.0/24 — это адрес сети, которая «висит» на tun/tap интерфейсе.

И будет вам счастье.

Решения вопроса 1

Ключевые слова для поиска: «шлюз iptables».

Опция для проброса трафика через хост:
echo «net.ipv4.ip_forward = 1» >> /etc/sysctl.conf
sysctl -p

Для выхода в интернет используем SNAT вместо маскарадинга (но это если у Вас статический внешний IPv4):
iptables -t nat -A POSTROUTING -o eth0 -s 10.8.0.0/24 -j SNAT —to-source 211.233.44.5

Предварительно, при этом предполагаем, что других правил нет, т.к. эти должны идти первыми:
iptables -A INPUT -m state —state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -А FORWARD -s 10.8.0.0/24 -j ACCEPT
iptables -A FORWARD -m state —state RELATED,ESTABLISHED -j ACCEPT

Разрешаем 1194/udp, SSH:
iptables -I INPUT -m state —state NEW -m tcp -p tcp —dport 22 -j ACCEPT
iptables -I INPUT -p udp -m udp —dport 1194 -j ACCEPT

Блокируем все остальное:
iptables -P INPUT DROP
iptables -P FORWARD DROP

Ufw and Iptables. Which is better and why? [closed]

Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.

Closed 3 years ago .
The community reviewed whether to reopen this question 8 months ago and left it closed:

Original close reason(s) were not resolved

I am a newbie to this domain, so i kept researching on ufw and iptables. But I cant distinguish them clearly because in every article /blog both of these names are present and I am really confused whether these are similar or not. I know ufw is a firewall(if i am not wrong), but why is it always linked with iptables? What is better a firewall or an iptable? Thank you.

435 4 4 silver badges 5 5 bronze badges
asked Apr 28, 2020 at 5:55
HelloWorld HelloWorld
253 1 1 gold badge 2 2 silver badges 5 5 bronze badges
Iptables can do everything, but it is hard to set up. Ufw solves this, but it has lesser skills.
Apr 28, 2020 at 6:02

Hello @peterh-ReinstateMonica thank you for your comment, so what type of skills does iptables have more than ufw?Any website where I can find these? Does those skills apply only to ufw or for all types of firewalls?

Apr 28, 2020 at 6:14

You have to understand that (currently) ufw is implemented over iptables. So whatever you do in ufw will end up as iptables. So that’s simple logic that tells that whatever ufw can do, iptables can do it. The reverse might not be true.

Apr 28, 2020 at 9:56

1 Answer 1

NON-FORMAL ANSWER (Original)

I ain’t afraid of no quake i mean firewall! [ref.1]

TL;DR

  1. Made at Home — Netfilter (Nightmare — Damn I’m Good)
  2. Take and Bake — Iptables (Hard — Come Get Some)
  3. Delivery — UFW (Normal — Let’s Rock)
  4. Dining out — Some 1-clicks or predefined setups (Easy — Piece of Cake)

THE LONGER PART

part I: i found a pretty decent and easy to understand article for the UFW: Understanding UFW (on HackerNoon)

part II: this guide shows you the slight deeper using of iptables: The Beginner’s Guide to iptables, the Linux Firewall (on HowToGeek)

part III: here are informations about the packetfilter, this is the basis of many firewall solutions A Deep Dive into Iptables and Netfilter Architecture (on DigitalOcean)

the parts are based on hierarchy, top is dependant on the lower ones.

[ref.1] (From Duke Nukem 3D — Referencing id Software’s 1996 PC FPS game Quake)

[trivia] (The difficulty levels are taken from Duke Nukem 3D)

FORMAL ANSWER (As we get older, answers evolve)

TL;DR

UFW and Iptables are related because UFW is essentially a simpler interface for managing Iptables. The main difference between them is, how much control you want over your firewall configuration:

  1. Netfilter: The lowest level, making pizza from scratch at home. Requires the most knowledge but gives you the most control.
  2. Iptables: A layer on top of Netfilter. It’s like buying a pizza kit that you cook yourself. You have less control, but it’s easier to manage.
  3. UFW: Further simplification, similar to ordering a pizza for delivery. You have even less control, but it’s even easier to use.
  4. Predefined setups: The simplest option, it’s like dining out at a restaurant. You have minimal control, but it’s the easiest to use. The ‘better’ choice depends on your needs and comfort level with managing firewall rules.

Further Reading

  1. UFW: This HackerNoon article provides a good overview of UFW.
  2. Iptables: This HowToGeek guide goes a bit deeper into using Iptables.
  3. Netfilter: This DigitalOcean article dives deep into the architecture of Iptables and Netfilter, which is the foundation for many firewall solutions.

For the pizza analogy, refer to this image from Oursky.

ufw вместо iptables

Гугл подсказывает, что в самом UFW возможности включить маскарад нет — там используется before.rules, которые пишутся в формате iptables.

Pinkbyte ★★★★★
( 11.03.22 21:00:51 MSK )

  • Ответить на это сообщение
  • Показать ответ
  • Ссылка

Ответ на: комментарий от Pinkbyte 11.03.22 21:00:51 MSK

Опаньки! И как же быть в этом случае?

chukcha ★★★★★
( 11.03.22 21:11:59 MSK ) автор топика

  • Ответить на это сообщение
  • Показать ответ
  • Ссылка

Ответ на: комментарий от chukcha 11.03.22 21:11:59 MSK

ufw — это надстройка над iptables, правила iptables при этом вполне себе работают. Какую проблемы ты пытаешься решить?

Если вопрос в порядке правил(например ufw добавляет последним правилом DROP на все интерфейсы в цепочку FORWARD) — замени -A на -I 1 — тогда правило будет добавляться не последним, а первым.

Pinkbyte ★★★★★
( 11.03.22 21:17:48 MSK )
Последнее исправление: Pinkbyte 11.03.22 21:19:43 MSK (всего исправлений: 1)

  • Ответить на это сообщение
  • Ссылка

Я сильно расстрою новостью, что ufw это простая обёртка над ip/nftables, для тех пользователей, кто не хочет ломать последний мозг над синтаксисом и просто хочет allow/deny port?

SkyMaverick ★★★★★
( 11.03.22 21:19:24 MSK )
Последнее исправление: SkyMaverick 11.03.22 21:19:34 MSK (всего исправлений: 1)

  • Ответить на это сообщение
  • Показать ответы
  • Ссылка

Ответ на: комментарий от SkyMaverick 11.03.22 21:19:24 MSK

Да, тепеь я не смогу спать ночами, когда узнал страшную тайну!

Откройте другую. Почему в настройках FW и NAT такой жуткий снтаксис, что нужны обёртки? Только не надо про «гибкость».

modest
( 11.03.22 21:29:38 MSK )

  • Ответить на это сообщение
  • Показать ответы
  • Ссылка

Ответ на: комментарий от SkyMaverick 11.03.22 21:19:24 MSK

Я не сильно расстроюсь, потому что настолько часто попадаю впросак с этими тонкостями, что уже привык 🙂

Вот иммеющийся конфиг сервера WireGuard:

[Interface] PrivateKey = Address = 10.0.0.1/24 ListenPort = 3999 PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE 

Если ufw включен, то vpn не работает. Но стоит остановить ufw, то vpn начинает нормально работать.

Так что ваше «ufw это простая обёртка над ip/nftables» видимо не просто обертка, и конфиг, который взят от Центоса, для Дебиана нуждается в какой-то правке.

chukcha ★★★★★
( 11.03.22 21:36:32 MSK ) автор топика

  • Ответить на это сообщение
  • Показать ответ
  • Ссылка

Ответ на: комментарий от modest 11.03.22 21:29:38 MSK

Почему в настройках FW и NAT такой жуткий снтаксис

Абсолютно нормальный синтаксис.

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

anc ★★★★★
( 11.03.22 21:36:56 MSK )

  • Ответить на это сообщение
  • Ссылка

Ответ на: комментарий от chukcha 11.03.22 21:36:32 MSK
anc ★★★★★
( 11.03.22 21:38:01 MSK )

  • Ответить на это сообщение
  • Показать ответ
  • Ссылка

Ответ на: комментарий от anc 11.03.22 21:38:01 MSK

Да, ответили, в плане просвещения. А можно конкретнее — показать мой конфиг с этими подсказками?
А то я чукча, мало ли что, не так пойму глубину ваших познаний и наворочу невесть что 🙂

chukcha ★★★★★
( 11.03.22 22:03:22 MSK ) автор топика

  • Ответить на это сообщение
  • Показать ответ
  • Ссылка

Ответ на: комментарий от chukcha 11.03.22 22:03:22 MSK

А то я чукча, мало ли что, не так пойму глубину ваших познаний и наворочу невесть что 🙂

Не прикидывайтесь, четыре звезды уже нафлудили 🙂

Вам уже ответили:

От себя добавлю, цифирка 1 в конце не обязательна, по умолчанию она и будет использована. -A от слова append, -I от слова insert, цифирка указывает в какую строку цепочки воткнуть правило, по умолчанию втыкает в начало цепочки.

anc ★★★★★
( 11.03.22 22:11:37 MSK )

  • Ответить на это сообщение
  • Показать ответ
  • Ссылка

Ответ на: комментарий от modest 11.03.22 21:29:38 MSK

Ну не знаю, как по мне синтаксис как синтаксис. Причём у nftables, исключительно моё мнение, куда более человекочитаемый, понятный и вменяемый.

Ну а почему не надо? Гибкость, в том числе и о том, что позволяет решать широкий круг задач. UFW, если абстрагировать — это использующая ограниченное подмножество возможностей обёртка, упрощающая конечному пользователю решение базовых задач разграничения доступа к сети.

Оффтоп. Про синтаксисы, я вот, например, PowerShell как ни пытался, так до сих пор нормально работать с ним не в состоянии. Вот это, как по мне, пример действительно ужасного синтаксиса.

SkyMaverick ★★★★★
( 11.03.22 22:19:23 MSK )

  • Ответить на это сообщение
  • Показать ответы
  • Ссылка

Ответ на: комментарий от anc 11.03.22 22:11:37 MSK

anc Ну да, вам бы только на мои звезды глазеть :=)

Ладно, сделал вашу замену:

[Interface] PrivateKey = Address = 10.0.0.1/24 ListenPort = 3999 PostUp = iptables -I 1 FORWARD -i %i -j ACCEPT; iptables -t nat -I 1 POSTROUTING -o eth0 -j MASQUERADE PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE 

chukcha ★★★★★
( 11.03.22 22:19:31 MSK ) автор топика
Последнее исправление: chukcha 11.03.22 22:20:22 MSK (всего исправлений: 2)

  • Ответить на это сообщение
  • Показать ответы
  • Ссылка

Ответ на: комментарий от chukcha 11.03.22 22:19:31 MSK

Она не моя, она Pinkbyte. Я тут мимокрокодил. 🙂

anc ★★★★★
( 11.03.22 22:23:30 MSK )

  • Ответить на это сообщение
  • Ссылка

Ответ на: комментарий от SkyMaverick 11.03.22 22:19:23 MSK

Про синтаксисы, я вот, например, PowerShell как ни пытался, так до сих пор нормально работать с ним не в состоянии. Вот это, как по мне, пример действительно ужасного синтаксиса.

У мц куда не копни, всё такое. Я серьезно, достаточно долго погромировал под эту хрень(в смысле под шинду). Эталоном для меня является vba, единственный случай когда читая документацию я матерился не смотря на присутствие женщин.

anc ★★★★★
( 11.03.22 22:35:40 MSK )

  • Ответить на это сообщение
  • Ссылка

Ответ на: комментарий от chukcha 11.03.22 22:19:31 MSK

Нет: iptables [-t table] -D chain rulenum

AS ★★★★★
( 11.03.22 23:58:18 MSK )

  • Ответить на это сообщение
  • Показать ответы
  • Ссылка

Ответ на: комментарий от AS 11.03.22 23:58:18 MSK

Нет: iptables [-t table] -D chain rulenum

Блин, так кому из вас верить??

Кто-нибудь может эти две злочастные строки написать в полном формате, без намеков?

chukcha ★★★★★
( 12.03.22 00:13:49 MSK ) автор топика

  • Ответить на это сообщение
  • Показать ответ
  • Ссылка

Ответ на: комментарий от AS 11.03.22 23:58:18 MSK

При всём моём к вам уважении, но автоматически удалять по номеру правила это очень неиллюзорный способ однажды получить неожиданное поведение с возможно не очень желательными последствиями.

anc ★★★★★
( 12.03.22 00:18:06 MSK )

  • Ответить на это сообщение
  • Показать ответы
  • Ссылка

Ответ на: комментарий от anc 12.03.22 00:18:06 MSK

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

Любая ошибка в нем приведет к дискредитации канала VPN, так что дилетантам тут лучше воздержаться от излияний, не гарантирующих безопасность.

chukcha ★★★★★
( 13.03.22 03:27:17 MSK ) автор топика
Последнее исправление: chukcha 13.03.22 03:29:32 MSK (всего исправлений: 1)

  • Ответить на это сообщение
  • Показать ответ
  • Ссылка

Ответ на: комментарий от chukcha 13.03.22 03:27:17 MSK

Так вы попробовали, то что вам предложили?

anc ★★★★★
( 13.03.22 09:17:19 MSK )

  • Ответить на это сообщение
  • Ссылка

Ответ на: комментарий от chukcha 11.03.22 22:19:31 MSK

Неправильно. -I — это я имел ввиду -I FORWARD например. chain в данном случае название цепочки.

PostUp = iptables -I FORWARD 1 -i %i -j ACCEPT; iptables -t nat -I POSTROUTING 1 -o eth0 -j MASQUERADE PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

Pinkbyte ★★★★★
( 13.03.22 11:13:41 MSK )

  • Ответить на это сообщение
  • Показать ответ
  • Ссылка

Ответ на: комментарий от SkyMaverick 11.03.22 22:19:23 MSK

Оффтоп. Про синтаксисы, я вот, например, PowerShell как ни пытался, так до сих пор нормально работать с ним не в состоянии. Вот это, как по мне, пример действительно ужасного синтаксиса.

Вот тоже самое. Я допускаю, что это некий синдром утёнка, но точно также я не мог работать с lsi megacli, даже поиск в man был затруднителен со всем этим camelcase и сокрашениями. Как только перешёл на storcli, мои волосы сразу стали мягкими и шелковистыми.

Dimez ★★★★★
( 13.03.22 12:51:30 MSK )

  • Ответить на это сообщение
  • Ссылка

Ответ на: комментарий от chukcha 12.03.22 00:13:49 MSK

Верить надо man iptaples. Хотя.

AS ★★★★★
( 13.03.22 19:47:53 MSK )
Последнее исправление: AS 13.03.22 19:54:12 MSK (всего исправлений: 1)

  • Ответить на это сообщение
  • Ссылка

Ответ на: комментарий от anc 12.03.22 00:18:06 MSK

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

Интересно, когда это iptables научили не по номеру удалять. Похоже давно.

AS ★★★★★
( 13.03.22 19:57:04 MSK )

  • Ответить на это сообщение
  • Показать ответ
  • Ссылка

Ответ на: комментарий от AS 13.03.22 19:57:04 MSK

яннп ну и ладно.

anc ★★★★★
( 13.03.22 20:06:46 MSK )

  • Ответить на это сообщение
  • Показать ответ
  • Ссылка

Ответ на: комментарий от anc 13.03.22 20:06:46 MSK

Ну в мане в начале примеры. Я, честно говоря, думал, что они там все (а иначе нафига их так много)? Лет 15 назад городил скрипт для удаления правил через расчёт номера. В общем только что узнал, что можно было не городить. 🙂

AS ★★★★★
( 14.03.22 09:04:14 MSK )

  • Ответить на это сообщение
  • Показать ответ
  • Ссылка

Ответ на: комментарий от AS 14.03.22 09:04:14 MSK

Ааааа. Семён Семёныч 🙂 Ну сколько я знаю iptables, а это где-то с начала нулевых, номерки были опциональны и сомневаюсь, что когда-то были обязательны. 🙂

anc ★★★★★
( 14.03.22 09:11:19 MSK )
Последнее исправление: anc 14.03.22 09:21:15 MSK (всего исправлений: 1)

  • Ответить на это сообщение
  • Ссылка

Ответ на: комментарий от Pinkbyte 13.03.22 11:13:41 MSK

Pinkbyte Урря! После трех дней траханины удалось таки запустить WireGuard! 🙂

Непонятные строки для сервера WG в итоге получились такие —

[Interface] PrivateKey = реальный_privatekey Address = 10.0.0.1/24 ListenPort = 28888 PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o enp0s3 -j MASQUERADE

где в предпоследней строке вместо рекомендованного -I используется -A.
Разницы между ними так и не понял, работает ну и ладно.

Теперь Гигабайты по внутренней сетке 10.0.0.x бегают только в путь, а скорость в туннеле близка к скорости физического канала!

Однако радость было недолгой. Да, защищенный туннель VPN получился, и доступа к нему никто из посторонних не имеет.

Но мне-то надо совсем другое — чтобы VPN-клиент выходил через VPN-сервер в свободный Интернет, как это обычно предлагают Интернет хостеры.

Например, мой локальный клиентский VPN-адрес равен 10.0.0.2, локальный VPN-адрес сервера равен 10.0.0.1, а его внешний 95.95.95.95.

И вот мне нужно через этот мой VPN выйти в Инет под адресом 95.95.95.95

Как это сделать?

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

chukcha ★★★★★
( 16.03.22 14:35:23 MSK ) автор топика

  • Ответить на это сообщение
  • Показать ответ
  • Ссылка

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *