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

По поводу "iptables"

romangaitur

Well-known member
20.06.2020
94
0
BIT
0
Добрый день. Хотел узнать как работает "iptables" ?!

Я знаю что Firewall который входит в ряд инструментов Linux.
Проблема в том что когда я ввожу команду :
<< iptables -A INPUT -s xxx.xxx.xxx.xxx -p tcp --destination-port 80 -j DROP >> она не работает.

Может перед тем как заблокировать ip adress нужно настроить сам Firewall ?
Могу ли я заблокировать, находясь в подсети с клиентом которого хочу заблокировать ?

Напишите пожалуйста как бы вы поступили если бы хотели заблокировать пользователя через "iptables" .

Заранее благодарю!
 

Pernat1y

Well-known member
05.04.2018
1 443
135
BIT
0
Визуально команда корректная. Что пишет при запуске?

Может перед тем как заблокировать ip adress нужно настроить сам Firewall ?
Как минимум, он должен быть запущен :)
Это зависит от дистра, обычно systemctl status firewalld или systemctl status iptables

Могу ли я заблокировать, находясь в подсети с клиентом которого хочу заблокировать ?
Можно блокировать кого угодно и где угодно.

PS. Почитай про логирование, оно помогает при отладке -
 

romangaitur

Well-known member
20.06.2020
94
0
BIT
0
Визуально команда корректная. Что пишет при запуске?


Как минимум, он должен быть запущен :)
Это зависит от дистра, обычно systemctl status firewalld или systemctl status iptables


Можно блокировать кого угодно и где угодно.

PS. Почитай про логирование, оно помогает при отладке -

Запустил я Kali на виртуальной машине.
Ввел команду " sudo systemctl status firewalld "
Ответ: " Unit firewalld.service could not be found. "

Ввел команду " sudo systemctl status iptables "
Ответ: " Unit iptables.service could not be found. "

* Раньше когда я вводил команду
<< iptables -A INPUT -s xxx.xxx.xxx.xxx -p tcp --destination-port 80 -j DROP >>
Ничего не происходило как будто команда принята. НО, у пользователя все равно все работало. Я даже пробывал сохранять "iptables" (уже не помню команду) но тоже ответ был что команда принята.

Сейчас дело в том что мне надо отсканировать подсеть и найти ip adress этого пользователя но не знаю как это сделать. Можешь помочь с командой в "nmap" как отсканировать мою подсеть ?

А затем мне нужно будет ввести место ххх.ххх.ххх.ххх сам этот ip adress.
Правда сомневаюсь что это сработает.

То что ты мне написал " systemctl status firewalld " и " systemctl status iptables " результата нет.

Еще раз спасибо что ответил мне!
 

romangaitur

Well-known member
20.06.2020
94
0
BIT
0
Визуально команда корректная. Что пишет при запуске?


Как минимум, он должен быть запущен :)
Это зависит от дистра, обычно systemctl status firewalld или systemctl status iptables


Можно блокировать кого угодно и где угодно.

PS. Почитай про логирование, оно помогает при отладке -

В общем разобрался с "nmap" нашел я пользователя которого хочу заблокировать.
Ввел ту команду для блокировки но все равно ничего не просиходит.

Что делать ?
 

Иа-Иа

Member
12.10.2020
12
0
BIT
0
Сейчас дело в том что мне надо отсканировать подсеть и найти ip adress этого пользователя но не знаю как это сделать. Можешь помочь с командой в "nmap" как отсканировать мою подсеть ?

Самая простая команда: -- в CIDR формате
nmap 192.168.1.1/24


Я знаю что Firewall который входит в ряд инструментов Linux.
Проблема в том что когда я ввожу команду :
<< iptables -A INPUT -s xxx.xxx.xxx.xxx -p tcp --destination-port 80 -j DROP >> она не работает.

Может перед тем как заблокировать ip adress нужно настроить сам Firewall ?
Могу ли я заблокировать, находясь в подсети с клиентом которого хочу заблокировать ?
Твоя проблема может заключаться в следующем.
Может быть не запущена служба (или демон, или сервис <-- в зависимости от операционной системы).
В Дебиано-подобной системе - проверить можно командой
sudo systemctl status iptables

Твой выхлоп говорит о том, что iptables не запущен.
Запусти:
sudo systemctl start iptables

Можно поставить в автозагрузку:
sudo systemctl enable iptables


Вторая причина - правила могут вступать в силу после перезагрузки.
Но iptables устроен так, что НЕ сохраняет, а ВОССТАНАВЛИВАЕТ правила при каждой загрузке системы.
Хотя, о перезагрузке речь не идёт )))
 

romangaitur

Well-known member
20.06.2020
94
0
BIT
0
Самая простая команда: -- в CIDR формате
nmap 192.168.1.1/24



Твоя проблема может заключаться в следующем.
Может быть не запущена служба (или демон, или сервис <-- в зависимости от операционной системы).
В Дебиано-подобной системе - проверить можно командой
sudo systemctl status iptables

Твой выхлоп говорит о том, что iptables не запущен.
Запусти:
sudo systemctl start iptables

Можно поставить в автозагрузку:
sudo systemctl enable iptables


Вторая причина - правила могут вступать в силу после перезагрузки.
Но iptables устроен так, что НЕ сохраняет, а ВОССТАНАВЛИВАЕТ правила при каждой загрузке системы.
Хотя, о перезагрузке речь не идёт )))

Проблема в том что ничего не происходит.
Я пробую запустить iptables по разному.
" sudo systemctl start iptables "
" sudo systemctl enable iptables "
Выявляется ошибка: " Failed to enable unit: Unit file iptables.service not found. "

Что я попробывал сделать, так это установить " ufw " тоже firewall.

Написал команду: " sudo ufw deny from xx.x.x.x to any port 80 " - (это подсеть)
Вроде сработало, зашел в список блокированных " ip " - прописанно что стоит блокировка ну как в команде по 80 порту.
Дело в том что у пользователя ничего не происходит. Интернет у него работает проблем нет.
Вот в чем проблема.

Можешь написать все команды что бы заблокировать пользователя ?
Вообще полностью заблокировать - никакой доступ что бы не был.

И еще важную вещь хотел узнать !
В списке таблице у меня есть:

Target | Prot | opt | Source | Destination

Ну так вот вопрос касается " Destination" что должно стоять ? Я бы хотел прописать что бы блокировка шла от внешнего роуэтера (ip я знаю) до конекретного пользователя (ip я знаю)
Там где " Destination " у меня стоит " Anywhere "
 

romangaitur

Well-known member
20.06.2020
94
0
BIT
0
Визуально команда корректная. Что пишет при запуске?


Как минимум, он должен быть запущен :)
Это зависит от дистра, обычно systemctl status firewalld или systemctl status iptables


Можно блокировать кого угодно и где угодно.

PS. Почитай про логирование, оно помогает при отладке -

Я переустановил Кали на виртуальной машине.
Установил даже ufw и вроде как работает с iptables - не знаю точно.
Когда ввел все команды в списке всего что разрешенно или заблокированно - все выводится ! Но пробелма что на телефоне интернет все равно работает ! Вот это не могу понять - Почему ?
 

romangaitur

Well-known member
20.06.2020
94
0
BIT
0
Попробуй доставить ufw - apt install -y ufw && ufw enable
Мануал -

Установил уже и ufw
В списке все правила прописанны.
Но не работает ! На устройстве интернет все равно работает и загружает страницы как нивчем не бывало) Почему ?
 

Shadow User

Green Team
10.07.2017
138
29
BIT
0
Добрый день. Хотел узнать как работает "iptables" ?!

Я знаю что Firewall который входит в ряд инструментов Linux.
Проблема в том что когда я ввожу команду :
<< iptables -A INPUT -s xxx.xxx.xxx.xxx -p tcp --destination-port 80 -j DROP >> она не работает.

Может перед тем как заблокировать ip adress нужно настроить сам Firewall ?
Могу ли я заблокировать, находясь в подсети с клиентом которого хочу заблокировать ?

Напишите пожалуйста как бы вы поступили если бы хотели заблокировать пользователя через "iptables" .

Заранее благодарю!
Ты блокируешь не IP, а порт 80 с IP.
iptables - работает на уровне ядра, ему не нужна служба.

iptables -A INPUT -s xxx.xxx.xxx.xxx/xx -j DROP
 

Shadow User

Green Team
10.07.2017
138
29
BIT
0
Самая простая команда: -- в CIDR формате
nmap 192.168.1.1/24



Твоя проблема может заключаться в следующем.
Может быть не запущена служба (или демон, или сервис <-- в зависимости от операционной системы).
В Дебиано-подобной системе - проверить можно командой
sudo systemctl status iptables

Твой выхлоп говорит о том, что iptables не запущен.
Запусти:
sudo systemctl start iptables

Можно поставить в автозагрузку:
sudo systemctl enable iptables


Вторая причина - правила могут вступать в силу после перезагрузки.
Но iptables устроен так, что НЕ сохраняет, а ВОССТАНАВЛИВАЕТ правила при каждой загрузке системы.
Хотя, о перезагрузке речь не идёт )))
Сказанное тобою - хрень!

1) iptables - работает на уровне ядра.
2) Правила применяются сразу.
3) Служба нужна для загрузки правил при старте.
 

romangaitur

Well-known member
20.06.2020
94
0
BIT
0
Ты блокируешь не IP, а порт 80 с IP.
iptables - работает на уровне ядра, ему не нужна служба.

iptables -A INPUT -s xxx.xxx.xxx.xxx/xx -j DROP

Хорошо! Тогда какая команда будет правильная, даже пусть не одна а ряд команд, которые полностью заблокируют доступ в интернет ?
Потому что есть роутэр от провайдера и есть внещний роутэр.
Мне нужно что бы внешний роутэр который служит подсетью не давал доступ к определеному ip который подключен к этому внешнему роутэру.
Напиши пожалуйста!
Спасибо тебе !

Раз уж на то пошло, то нет :)
iptables работает в юзермоде. В ядре работает packet filter/netfilter, которым этот самый iptables и управляет.

Какая команда будет правильная что бы не давать доступ в интернет ?
 

Khammatov

Green Team
30.01.2018
21
7
BIT
0
Добрый день. Хотел узнать как работает "iptables" ?!

Я знаю что Firewall который входит в ряд инструментов Linux.
Проблема в том что когда я ввожу команду :
<< iptables -A INPUT -s xxx.xxx.xxx.xxx -p tcp --destination-port 80 -j DROP >> она не работает.

Может перед тем как заблокировать ip adress нужно настроить сам Firewall ?
Могу ли я заблокировать, находясь в подсети с клиентом которого хочу заблокировать ?

Напишите пожалуйста как бы вы поступили если бы хотели заблокировать пользователя через "iptables" .

Заранее благодарю!

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

DHCP Subnet: 192.168.0.0/24 DHCP Client: 192.168.0.146

Bash:
iptables -A FORWARD -s !192.168.0.0/24 -d 192.168.0.146 -j DROP
Будет блокировать весь входящий трафик до клиента 192.168.0.146, кроме трафика от локальной сети 192.168.0.0/24

Bash:
iptables -A FORWARD -s 192.168.0.146 -d !192.168.0.0/24 -j DROP
Будет блокировать весь исходящий трафик от клиента 192.168.0.146, кроме трафика до локальной сети 192.168.0.0/24

Локальная сеть будет полноценно работать, связь с внешним миром будет прервана. (Можно будет играть в Minecraft вместе с заблокированным клиентом, но доступа в интернет у клиента не будет, рецепты крафта он подглядывать не сможет.)

Зафиксируйте локальный IP адрес вашего клиента по mac адресу, иначе рискуете и себе качество жизни подпортить.
 
Последнее редактирование:

romangaitur

Well-known member
20.06.2020
94
0
BIT
0
Если я не ошибься в своих мыслях пытаясь вас понять, пробуйте сделать вот так.

DHCP Subnet: 192.168.0.0/24 DHCP Client: 192.168.0.146

Bash:
iptables -A FORWARD -s !192.168.0.0/24 -d 192.168.0.146 -j DROP
Будет блокировать весь входящий трафик до клиента 192.168.0.146, кроме трафика от локальной сети 192.168.0.0/24

Bash:
iptables -A FORWARD -s 192.168.0.146 -d !192.168.0.0/24 -j DROP
Будет блокировать весь исходящий трафик от клиента 192.168.0.146, кроме трафика до локальной сети 192.168.0.0/24

Локальная сеть будет полноценно работать, связь с внешним миром будет прервана. (Можно будет играть в Minecraft вместе с заблокированным клиентом, но доступа в интернет у клиента не будет, рецепты крафта он подглядывать не сможет.)

Зафиксируйте локальный IP адрес вашего клиента по mac адресу, иначе рискуете и себе качество жизни подпортить.

А как это сделать ? Как можно зафиксировать по мак адресу ?
 

Khammatov

Green Team
30.01.2018
21
7
BIT
0
А как это сделать ? Как можно зафиксировать по мак адресу ?
В вашем посте нет информации в каких условиях это происходит, поэтому я не могу ответить.
У вас есть доступ к iptables на роуторе, или это что либо другое?

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

А лучше расскажите подробно что мы имеем, с каким оборудованием работаем.
 

romangaitur

Well-known member
20.06.2020
94
0
BIT
0
В вашем посте нет информации в каких условиях это происходит, поэтому я не могу ответить.
У вас есть доступ к iptables на роуторе, или это что либо другое?

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

А лучше расскажите подробно что мы имеем, с каким оборудованием работаем.

Вроде я все понятно обьяснил.
Есть роутэр от провайдера через которого идет весь интернет.
К этому роуэтеру через ETHERNET кабель подключен еще один роутэр (не от провайдера а купленный в магазине) то есть внешний NETGEAR.
Так как он подключен к роутэру от провайдера то он (NETGEAR) и выдает весь трафик через Wi-Fi. Так все настроенно так как он выдает больше скорость через Wi-Fi чем тот от провайдера.
Получается все в том числе и я подключенны к подсетью.

Доступ к iptables на роуэтере у меня нет то есть админки у меня к NETGEAR нет. (там стоит админ с его паролем которого не знаю). Но я подключен к нему (внешнему).
Я получаю доступ к iptables через командную строку в Кали в виртульной машине.
Когда сканирую сеть с помощью Nmap то вижу все устройства которые подключенны к подсети в том числе и себя.

Проблема оказалась что я не правильно все ввожу что бы заблокировать конкретного пользователя в iptables и поэтому не работает. То есть у того пользователя продолжает работать интренет.
Что я собственно хочу так это что бы у всех был интернет кроме одного пользователя. Что бы была блокировка по айпи и мак адрессу к роутэру внешнему ( а лучше что бы и от роутэра от провайдера тоже - я могу и к нему через ETHERNET подключится).
У меня есть доступ только к роутэру от провайдера и там уже задать эти правила но в этом случае есть 2 проблемы/ причины по которой я не смогу это сделать.
1) я не вижу все устройства от NETGEAR - а значт если я заблокирую NETGEAR то тогда у всех пользователей не будет интернет.
2) правила которые я внессу на веб странице - пользователь которого я захочу заблокировать зайдет в настройки роутэра от провайдера и там сними это правило.

Сообственно всё . Мне нужна только команда(ы) что заблокировать конкретного пользователя в доступ в NETGEAR. и по айпи и по мак адрессу.

Надеюсь Вы меня поняли. Если что то еще не понятно скажите и я обьясню.
Заранее Большое Спасибо !
 

Khammatov

Green Team
30.01.2018
21
7
BIT
0
Вроде я все понятно обьяснил.
Есть роутэр от провайдера через которого идет весь интернет.
К этому роуэтеру через ETHERNET кабель подключен еще один роутэр (не от провайдера а купленный в магазине) то есть внешний NETGEAR.
Так как он подключен к роутэру от провайдера то он (NETGEAR) и выдает весь трафик через Wi-Fi. Так все настроенно так как он выдает больше скорость через Wi-Fi чем тот от провайдера.
Получается все в том числе и я подключенны к подсетью.

Доступ к iptables на роуэтере у меня нет то есть админки у меня к NETGEAR нет. (там стоит админ с его паролем которого не знаю). Но я подключен к нему (внешнему).
Я получаю доступ к iptables через командную строку в Кали в виртульной машине.
Когда сканирую сеть с помощью Nmap то вижу все устройства которые подключенны к подсети в том числе и себя.

Проблема оказалась что я не правильно все ввожу что бы заблокировать конкретного пользователя в iptables и поэтому не работает. То есть у того пользователя продолжает работать интренет.
Что я собственно хочу так это что бы у всех был интернет кроме одного пользователя. Что бы была блокировка по айпи и мак адрессу к роутэру внешнему ( а лучше что бы и от роутэра от провайдера тоже - я могу и к нему через ETHERNET подключится).
У меня есть доступ только к роутэру от провайдера и там уже задать эти правила но в этом случае есть 2 проблемы/ причины по которой я не смогу это сделать.
1) я не вижу все устройства от NETGEAR - а значт если я заблокирую NETGEAR то тогда у всех пользователей не будет интернет.
2) правила которые я внессу на веб странице - пользователь которого я захочу заблокировать зайдет в настройки роутэра от провайдера и там сними это правило.

Сообственно всё . Мне нужна только команда(ы) что заблокировать конкретного пользователя в доступ в NETGEAR. и по айпи и по мак адрессу.

Надеюсь Вы меня поняли. Если что то еще не понятно скажите и я обьясню.
Заранее Большое Спасибо !
Да я понял вас, прошу прощения. Удачи в поисках решения вашей задачи.
 

Kowalski

К удалению 21.01.2019
27.12.2016
4
0
BIT
6
Если честно то, вам необходимо немного поучиться в формулировании вашей проблемы. А то вы тут писали у меня Kali Linux, iptables, вон кто-то даже на виртуалку все это ставил. А если я правильно понял то ваш Kali к вашей проблеме никакого отношения не имеет. Если я правильно понял у вас есть два роутера, с одного приходит реальный интернет от провайдера, второй подключен к нему на нем настроен Wi-fi вы все на этот Wi-fi подключаетесь. У вас есть доступ к первому роутеру, судя по всему по ssh, вы со своей Kali к нему подключаетесь (это кстати можно и из Винды делать- putty), при этом раньше вы как то блокировали подключение, а теперь не можете, а что в системе то поменялось? В вашей истории много чего нехватает, хотя бы деталей того как попадаете на роутер, какие команды вводите?У вас на роутере должны быть права ROOT чтобы как то iptables менять, даже просто посмотреть их, теоретически если есть доступ есть то после ввода
iptables -L
у вас должен быть какой-то вывод на компе или другом устройстве где iptables есть но нестроен будет так

Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination


вы не указывете никаких данных своей сети-Ip-адреса своей сети, диапазон шлюз, как получаете адреса статически или динамически,не совсем непонятно как взаимодействуют два ваших роутера, если не знаете то сюда надо бы настройки вашей сети -(скриншот, вывод результатов команд ipconfig (для Винды),route print, arp, какие результаты при подключении по Wi-fi и прямом подключении к роутеру, какой шлюз по умолчанию) , то есть мы ничего этого не знаем, чисто гипотетически пользуетесь Wi-fi, поэтому адрес человек получает динамически блокировать по -Ip-адресу бессмыслено он может поменяться, надо блокировать по MAC,вам подойдет инструкция отсюда l

Допустим необходимо заблокировать входящие подключения к серверу для определенного MAC адреса - 04:18:d6:52:1d:71, приведу пример правила:

1iptables -A INPUT -m mac --mac-source 04:18:d6:52:1d:71 -j DROP
Это блокировка цепочки INPUT, кроме нее надо заблокировать цепочку FORWARD

1iptables -A FORWARD -m mac --mac-source 04:18:d6:52:1d:71 -j DROP
или если знаешь Ip-адрес к примеру 65.55.44.100 и он не меняется то тогда
iptables -A INPUT -s 65.55.44.100 -j DROP
iptables -A FORWARD -s 65.55.44.100 -j DROP
Теоретически это может помочь, но не зная точно вашей конфигурации сети и как что настроено, то я просто гадаю
 
Последнее редактирование:
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!