• XSS.stack #1 – первый литературный журнал от юзеров форума

Docker

по iptables можно блокировать диапазон ip адресов, ипользуй CIDR. Примерно ты хочешь блокировать ip адреса деапазона 192.168.1.0/24 это диапазон 192.168.1.0 до 192.168.1.255

Bash:
sudo iptables -A INPUT -s 192.168.1.0/24 -j DROP

с IPv6 команда аналогичная. Если тебе нужно чтобы изменения каторые ты внес сохранились используй команду

Bash:
sudo iptables-save > /etc/iptables/rules.v4
sudo ip6tables-save > /etc/iptables/rules.v6
 
по iptables можно блокировать диапазон ip адресов, ипользуй CIDR. Примерно ты хочешь блокировать ip адреса деапазона 192.168.1.0/24 это диапазон 192.168.1.0 до 192.168.1.255

Bash:
sudo iptables -A INPUT -s 192.168.1.0/24 -j DROP

с IPv6 команда аналогичная. Если тебе нужно чтобы изменения каторые ты внес сохранились используй команду

Bash:
sudo iptables-save > /etc/iptables/rules.v4
sudo ip6tables-save > /etc/iptables/rules.v6
Да, но мне нужно блокировать Docker
 
Да, но мне нужно блокировать Docker
Может так получиться, контейнеры используют ip-диапазон 127.17.0.0/16. Нужно определить, какие ip используются Docker.
Попробуй эту команду
Bash:
docker network inspect bridge
ты увидишь информацию о сети Docker. Посмотри параметр Subnet, чтобы определить ip диапазон. Потом используй iptables.
Bash:
sudo iptables -A INPUT -s 172.17.0.0/16 -j DROP
Если тебе нужно блокировать Docker на уровне его сети, попробуй эту команду
Bash:
sudo iptables -I FORWARD -i docker0 -o docker0 -j DROP

Блокируй все входящие соединения в Docker
Bash:
sudo iptables -I DOCKER-USER -i eth0 -o docker0 -j DROP
 
Может так получиться, контейнеры используют ip-диапазон 127.17.0.0/16. Нужно определить, какие ip используются Docker.
Попробуй эту команду
Bash:
docker network inspect bridge
ты увидишь информацию о сети Docker. Посмотри параметр Subnet, чтобы определить ip диапазон. Потом используй iptables.
Bash:
sudo iptables -A INPUT -s 172.17.0.0/16 -j DROP
Если тебе нужно блокировать Docker на уровне его сети, попробуй эту команду
Bash:
sudo iptables -I FORWARD -i docker0 -o docker0 -j DROP

Блокируй все входящие соединения в Docker
Bash:
sudo iptables -I DOCKER-USER -i eth0 -o docker0 -j DROP
docker network inspect bridge "Subnet" я увидел. Теперь мне нужно блокировать ip входящих. Т.е те ip которые я хочу блокировать, как мне это прописывать?
 
Пожалуйста, обратите внимание, что пользователь заблокирован
create a custom chain to handle your rules, and then hook it into the Docker chain
Bash:
sudo iptables -N CUSTOM-DOCKER
sudo iptables -I DOCKER-USER -j CUSTOM-DOCKER

add your blocking rule to this custom chain
Bash:
sudo iptables -A CUSTOM-DOCKER -s 192.168.0.0/24 -j DROP


if Docker's rules interfere with your custom rules then you can disable Docker's automatic iptables modifications by editing the Docker daemon
Bash:
sudo nano /etc/docker/daemon.json
Bash:
{
  "iptables": false
}

Bash:
sudo systemctl restart docker
 
create a custom chain to handle your rules, and then hook it into the Docker chain
Bash:
sudo iptables -N CUSTOM-DOCKER
sudo iptables -I DOCKER-USER -j CUSTOM-DOCKER

add your blocking rule to this custom chain
Bash:
sudo iptables -A CUSTOM-DOCKER -s 192.168.0.0/24 -j DROP


if Docker's rules interfere with your custom rules then you can disable Docker's automatic iptables modifications by editing the Docker daemon
Bash:
sudo nano /etc/docker/daemon.json
Bash:
{
  "iptables": false
}

Bash:
sudo systemctl restart docker
Спасибо, это работает. А нельзя ли для удобства использовать здесь ipset?
 
docker network inspect bridge "Subnet" я увидел. Теперь мне нужно блокировать ip входящих. Т.е те ip которые я хочу блокировать, как мне это прописывать?
Решился у тебя вопрос? только сейчас увидел твой текст
 
Решился у тебя вопрос? только сейчас увидел твой текст
Да, вопрос решился, спасибо. Я думаю есть ли воpможность это решить через ipset
 
Да, вопрос решился, спасибо. Я думаю есть ли воpможность это решить через ipset

Попробуй так, новый набор для хранения ip, которые хочешь блокировать, примерно назовие его blocked_ips
Bash:
sudo ipset create blocked_ips hash:ip
Тепер добавь определенный ip который ты хочешь блокировать. примерно, если это ip 203.0.113.50, так
Bash:
sudo ipset add blocked_ips 203.0.113.50
Даже ты используешь ipset, всеровно нужно создать правило в iptables, чтобы блокировать трафик от ip набора.
Bash:
sudo iptables -I INPUT -m set --match-set blocked_ips src -j DROP
 
Попробуй так, новый набор для хранения ip, которые хочешь блокировать, примерно назовие его blocked_ips
Bash:
sudo ipset create blocked_ips hash:ip
Тепер добавь определенный ip который ты хочешь блокировать. примерно, если это ip 203.0.113.50, так
Bash:
sudo ipset add blocked_ips 203.0.113.50
Даже ты используешь ipset, всеровно нужно создать правило в iptables, чтобы блокировать трафик от ip набора.
Bash:
sudo iptables -I INPUT -m set --match-set blocked_ips src -j DROP
нет, это я не решил вопрос. вопрос решил предложением от

Web3Dev

 
последняя мысль ) создай набор для ip, которые ты хочешь блокировать
Bash:
sudo ipset create blocked_ips hash:ip
если нужно блокировать целую подсеть , то набор типа hash:net:
Bash:
sudo ipset create blocked_subnets hash:net
блокируем конкретный ip
Bash:
sudo ipset add blocked_ips 192.168.0.10
для бокировки целой подсети
Bash:
sudo ipset add blocked_subnets 192.168.0.0/24
Применение правил в iptables , создай цепочку, аналогичную CUSTOM-DOCKER
Bash:
sudo iptables -N CUSTOM-DOCKER
трафик на эту цепочку
Bash:
sudo iptables -I DOCKER-USER -j CUSTOM-DOCKER
для блокировки конкретных ip
Bash:
sudo iptables -A CUSTOM-DOCKER -m set --match-set blocked_ips src -j DROP
блокировка целых подсетей
Bash:
sudo iptables -A CUSTOM-DOCKER -m set --match-set blocked_subnets src -j DROP
открываем файл конфигурации docker
Bash:
sudo nano /etc/docker/daemon.json
добовь строку
Bash:
{
  "iptables": false
}
Сохрани изменения и перезапусти docker
Bash:
sudo systemctl restart docker
 
последняя мысль ) создай набор для ip, которые ты хочешь блокировать
Bash:
sudo ipset create blocked_ips hash:ip
если нужно блокировать целую подсеть , то набор типа hash:net:
Bash:
sudo ipset create blocked_subnets hash:net
блокируем конкретный ip
Bash:
sudo ipset add blocked_ips 192.168.0.10
для бокировки целой подсети
Bash:
sudo ipset add blocked_subnets 192.168.0.0/24
Применение правил в iptables , создай цепочку, аналогичную CUSTOM-DOCKER
Bash:
sudo iptables -N CUSTOM-DOCKER
трафик на эту цепочку
Bash:
sudo iptables -I DOCKER-USER -j CUSTOM-DOCKER
для блокировки конкретных ip
Bash:
sudo iptables -A CUSTOM-DOCKER -m set --match-set blocked_ips src -j DROP
блокировка целых подсетей
Bash:
sudo iptables -A CUSTOM-DOCKER -m set --match-set blocked_subnets src -j DROP
открываем файл конфигурации docker
Bash:
sudo nano /etc/docker/daemon.json
добовь строку
Bash:
{
  "iptables": false
}
Сохрани изменения и перезапусти docker
Bash:
sudo systemctl restart docker
Спасибо друзья, всё сработало
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Blocking the 172.16.0.0/12 IP range might be affecting your access to the site because this range includes a large number of IP addresses.
check for these
Overlapping IP ranges
Private Network Overlaps
Ensure that your server's internal or external IP does not overlap with the blocked range. You can check your server's IP address and any active docker or internal network configurations using the following commands:
Bash:
ip a

ceck for docker net config avoid these " use this <>
Bash:
docker network ls
docker network inspect "network_name"


If docker is running on your server, it's likely that it uses the 172.16.0.0/12 range for its internal network by default. Blocking this range could cause docker containers to lose connectivity. You can either modify Docker's IP range or adjust your iptables rules to exclude the specific range Docker is using.

solution :
Modify or Remove the Block
Bash:
sudo iptables -D INPUT -s 172.16.0.0/12 -j DROP

Narrow down the range
you need to block a specific subset of the 172.16.0.0/12 range, use a more specific CIDR notation
Exclude Specific IPs/Subnets
Bash:
sudo iptables -I INPUT -s 172.17.0.0/16 -j ACCEPT

Then re-add your broader block
Код:
sudo iptables -A INPUT -s 172.16.0.0/12 -j DROP

This way traffic from 172.17.0.0/16 would be allowed even if you block the broader 172.16.0.0/12 range.
 
открываем файл конфигурации docker
Bash:Скопировать в буфер обмена
sudo nano /etc/docker/daemon.json
добовь строку
Bash:Скопировать в буфер обмена
{
"iptables": false
}
Сохрани изменения и перезапусти docker
Bash:Скопировать в буфер обмена
sudo systemctl restart docker
Эта команда что даёт?
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх