Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: HOWTO: Iptables для новичков  (Прочитано 464367 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sa-well-ev

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #2145 : 31 Августа 2017, 18:57:46 »
добавить статическую запись в arp-таблицу, не?
Да, это было бы здорово
выполнить команду arp -s 192.168.0.59 11:00:22:33:55:44
при загрузке роутера.
Только как вот это сделать? Linux на Asus RT-N16 урезан по самое нихачу (всего 26 мб)

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #2146 : 31 Августа 2017, 20:35:41 »
с этим вопросом либо на форум тех.поддержки asus, либо в курилку

Оффлайн Sergey F

  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #2147 : 22 Августа 2018, 05:00:59 »
Подскажите в чем может быть дело?

Полиси цепочки ИНПУТ установлено в ДРОП. В цепочке ИНПУТ правило:

iptables -I INPUT 1 -m state  --state RELATED,ESTABLISHED -j ACCEPT
Но исходящий трафик не проходит. Если поставлю полиси в АЦЕПТ, то трафик работает. Тоже правило на дебиан работает. Полиси в цепочках ФОРВАР и АУТПУТ стоят в АЦЕПТ. Больше правил никаких нет.

Подскажите, как разрешить ответный трафик? Спасибо.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #2148 : 22 Августа 2018, 11:00:32 »
Показывайте iptables-save полностью.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Sergey F

  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #2149 : 23 Августа 2018, 01:29:57 »
Вот вывод  iptables-save:

sergey@ubuntu:~$ sudo iptables-save
# Generated by iptables-save v1.6.1 on Thu Aug 23 01:20:30 2018
*filter
:INPUT DROP [20:1560]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [234:29348]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 192.168.0.185/32 -d 192.168.0.171/32 -p tcp -m tcp --dport 22 -j ACCEPT
COMMIT
# Completed on Thu Aug 23 01:20:30 2018
sergey@ubuntu:~$

Второй фильтр работает отлично. Первый фильтр должен разрешать обратный трафик к исходящим подключениям, но не разрешает. На дебиан правило работает. Ubuntu установлена 18.04.1 server с альтернативным установщиком. Установлены обновления apt-get update, upgrade. Установлен tcpd, в котором заданы настройки только для sshd.

Подскажите, как заставить работать правило? Спасибо.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #2150 : 23 Августа 2018, 01:38:20 »
Так у вас же вообще ничего не разрешено.
*filter
:INPUT DROP [20:1560]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [234:29348]
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -s 192.168.0.0/16 -j ACCEPT
COMMIT
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Sergey F

  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #2151 : 23 Августа 2018, 02:45:04 »
Цитировать
Так у вас же вообще ничего не разрешено.

Вот этот фильтр разрешает обратный трафик для исходящих соединений
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
На дебиан работает.
Такой фильтр тоже не работает:
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT


Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #2152 : 23 Августа 2018, 11:16:52 »
Ну, продолжайте рвать кусками… больше ничем помочь не могу.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Sergey F

  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #2153 : 23 Августа 2018, 17:03:01 »
Цитировать
Ну, продолжайте рвать кусками…

Вы помогли, спасибо вам за это. Дело было в фильтре:
-A INPUT -i lo -j ACCEPT
Странно что в дебиан работает без него...

Оффлайн sveloga

  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #2154 : 14 Декабря 2018, 07:15:52 »
H!

Нужно прокинуть НАТ для определенного URL:

-A POSTROUTING -p tcp -m string --hex-string "|076578616d706c6503636f6d00|" --algo kmp -o ppp0 -j SNAT --to-source 85.234.##.##

Но не работает.

Делал из этих соображенией, с просторов:

Цитировать
"exapmle.com" в каноническом виде "example.com.", далее разбиваем на части с делимитером ".", получаем ("example","com",""), затем len("example")=7, значит пишем 07, затем "example" (в ASCII-коде), получается 076578616d706c65, тоже самое делаем с com, получается 03636f6d и с пустой строкой - длина 0, значит 00, самой строки нет. И всё это "склеиваем": 076578616d706c6503636f6d00

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #2155 : 14 Декабря 2018, 12:00:13 »
Для https работать и не будет.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Mr. Toad

  • Новичок
  • *
  • Сообщений: 44
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #2156 : 02 Апреля 2019, 19:34:26 »
Народ, привет!
Нужна помощь в скрипте, который загружает правила в Iptables
Хочу, чтобы в рамках определенного времени доступ в интернет блокировался на определенный хост.
Делаю так:


# Переменные
# Начало
MinDate=`date -d "10:00" +%H:%M`
# Конец
MaxDate=`date -d "15:00" +%H:%M`
# Текущая дата
CurDate=`date +%H:%M`
 
# Задаем условие
if (( $MinDate < $CurDate < $MaxDate )); then 
    iptables -I FORWARD 1 -s 172.23.11.152 -j REJECT 
fi


Но bash выдает ошибку:
-bash: ((: 10:00 < 12:06 < 15:00 : синтаксическая ошибка в выражении (неверный маркер «:00 < 12:06 < 15:00 »)
 
Экранирование ломает переменную.
Пробовал указывать явно:

if (( $('date -d "10:00" +%H:%M') < $CurDate < $MaxDate )); then 
    iptables -I FORWARD 1 -s 172.23.11.152 -j REJECT
fi


Тот же результат.
Подскажте пожалуйста, как построить выражение, чтобы оно работало?
Или, быть может, есть элегантнее решение?
 
Пробовал делать так:
iptables -I FORWARD 1 -s 172.23.11.152 -m time --timestart 10:00 --timestop 15:00 --weekdays Mon,Tue,Wed,Thu,Fri -j REJECT
Не работает. Т.е. ка-будто его нет вовсе...
 
Если сделать: iptables -I FORWARD 1 -s 172.23.11.160 -j REJECT - работает.
 
А еще, мне непонятно, почему, если сделать так:
iptables -I FORWARD 1 -s 172.23.11.152 -d eth1 -m time --timestart 10:00 --timestop 15:00 --weekdays Mon,Tue,Wed,Thu,Fri -j REJECT
Система ругается, что такого интерфейса нет, хотя он есть, это точно...
 

eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 11.11.11.11  netmask 255.255.254.0  broadcast 11.11.10.255
        inet6 fe80::215:5dff:fe0b:640c  prefixlen 64  scopeid 0x20<link>
        ether 00:15:5d:0b:64:0c  txqueuelen 1000  (Ethernet)
        RX packets 256999269  bytes 252484553854 (252.4 GB)
        RX errors 0  dropped 259399  overruns 0  frame 0
        TX packets 95268664  bytes 35405775114 (35.4 GB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


ОСь - Ubuntu server 18.04.02
 
Уточнение.
Правило:
iptables -I FORWARD 1 -s 172.23.11.152 -m time --timestart 10:00 --timestop 15:00 --weekdays Mon,Tue,Wed,Thu,Fri -j REJECT
заработало, только не так как мне нужно.
По факту, ему пофиг на параметры времени. Он начал блокировать все постоянно.
Т.е., так же как правило: iptables -I FORWARD 1 -s 172.23.11.160 -j REJECT
Есть идеи?
« Последнее редактирование: 02 Апреля 2019, 20:00:35 от newhk »

Оффлайн bezbo

  • Старожил
  • *
  • Сообщений: 1749
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #2157 : 02 Апреля 2019, 20:10:28 »
Please note time module is not part of standard kernel, you need to download and apply patch from Patch-O-Matic

--insert  -I chain [rulenum]
--list    -L [chain [rulenum]]

Оффлайн Mr. Toad

  • Новичок
  • *
  • Сообщений: 44
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #2158 : 02 Апреля 2019, 23:11:54 »
IPTables видит правило

iptables -L
REJECT     all  --  Honor_10-f5a691392819bc89.test.lan  anywhere             TIME from 10:00:00 to 15:00:00 on Mon,Tue,Wed,Thu,Fri UTC rej           ect-with icmp-port-unreachable

Установил livepatch
sudo snap install canonical-livepatch
sudo canonical-livepatch enable [TOKEN]
Вместо "TOKEN" вставил свой сгенерированный ID

Конкретно по Patch-O-Matic.
Я не нашел статей, как найти и приметить патч для своей версии системы.
Есть статьи от 2007, 2008 годов, но они не дают достаточного объема информации.

Пользователь добавил сообщение 03 Апреля 2019, 20:30:43:
Поставим вопрос иначе, в связи с полученной ранее информацией.
Где взять патч модуля времени для ядра и как его применить?

Пользователь добавил сообщение 03 Апреля 2019, 20:31:52:
Версия ядра - 4.15.0-47
Если что.
« Последнее редактирование: 03 Апреля 2019, 20:31:52 от newhk »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #2159 : 04 Апреля 2019, 09:46:44 »
https://www.cyberciti.biz/tips/iptables-for-restricting-access-by-time-of-day.html
echo xt_time | sudo tee -a /etc/modules
sudo modprobe xt_time
suco cat /proc/net/ip_tables_matches
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

Страница сгенерирована за 0.029 секунд. Запросов: 25.