LINUX.ORG.RU

Проброс порта и iptables

 


0

1

Начну с того что машина стоит на виртуалке HV и по идее проброс портов я настроил нормально. Но вот сам фаервол не работает на это соединение. Я хотел пробросить трафик, что-бы он мог проходить через защиту. Делал запрос вот так.

iptables -t nat -A PREROUTING -p tcp -m tcp -d 192.168.137.3 --dport 4300 -j DNAT --to-destination 0.0.0.0:4400

iptables -t nat -A POSTROUTING -p tcp -m tcp -s 0.0.0.0 --sport 4400 -j SNAT --to-source 192.168.137.3:4300

Где 0.0.0.0 стоит Ip адрес машины. То есть, на самой винде порт 4300 идет редиректором на виртуалку. На виртуалке этот порт идет редиректом на винду но уже на другой порт 4400. Делаю простую команду и закрываю порты для проверки, работает ли сам iptables.

iptables -I INPUT -p tcp --dport 4400 -j DROP

iptables -I INPUT -p tcp --dport 4300 -j DROP

Но трафик все равно идет. Пробовал разный способ и ничего не помогает. Получается трафик идет в обход правил. Или я что-то не так делаю? Кто сможет подсказать?



Последнее исправление: fllear (всего исправлений: 1)

Ответ на: комментарий от anonymous

Пробовал так.

iptables -A FORWARD -p tcp -d 0.0.0.0 --dport 4400 -j ACCEPT

Толку не было.

fllear
() автор топика

Как всё сложно, неужели нет графического интерфейса где можно руками расставить стрелки какие пакеты куда.

anonymous
()

Так не пойдет

Нужно: IP машины, с которой идет запрос и куда: на виртуалку или винду? Вообще, прежде всего man маршрутизация.

Пока я понял: трафик на 0.0.0.0 пытается выйти через 192.168.137.3, который по правилам маршрутизации уйдет через тот же самый интерфейс, через который виртуалка может достучаться до 0.0.0.0. Т.е. через 192.168.137.1 на eth0, верно? Теперь вопрос, если 0.0.0.0 внешний IP, то каким [пип] макаром он узнает маршрут в локальную сеть 192.168.0.0/16?

что-бы он мог проходить через защиту

Снова, включил режим телепата. Защита на винде, где защищается внешний IP 0.0.0.0? Никак не обойдешь защиту, если в нормальной защите по RFC все адреса локальных сетей, а также зарезервированных под нуждны блокируются by desing, иными словами:

-A INPUT -d 0.0.0.0 -s 192.168.0.0/16 -j DROP -m comment --comment 'RFC violation'
-A INPUT -d 0.0.0.0 -s 172.16.0.0/12 -j DROP -m comment --comment 'RFC violation'
-A INPUT -d 0.0.0.0 -s 10.0.0.0/8 -j DROP -m comment --comment 'RFC violation'
-A INPUT -d 0.0.0.0 -s 224.0.0.0/8 -j DROP -m comment --comment 'RFC violation'
...
и еще парочка других

Делаю простую команду и закрываю порты для проверки, работает ли сам iptables.

Не так это делается. Крыть надо FORWARD.

И вообще, у вас есть классическое: sysctl -w xxx.ip_forward = 1?

gh0stwizard ★★★★★
()
Последнее исправление: gh0stwizard (всего исправлений: 1)
Ответ на: Так не пойдет от gh0stwizard

Да, насчет 192.168.137.1 все точно. Он используется как шлюз на виртуальной системе.

Я на винде не разу не подымал виртуалку. Поэтому столкнулся с трудностями. Плюс всегда работал исключительно с фряхой. А цент поставил недавно.

Мне по идее надо просто отфильтровать трафик для игрового сервера. В винде конечно нету ничего совершенно для этого. Вот и поднял виртуалку. Мне защита нужна именно Iptables. Что-бы можно было отсеить небольшой дос, и контролировать ддос.

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

fllear
() автор топика
Ответ на: комментарий от fllear

Правила iptables последовательно обрабатываются, если у тебя в начале цепочки есть «ACCEPT», то он сразу пропускает трафик и последующие правила с «DROP» уже не сработают.

armbox
()

Дистрибутив из своих конфигов может «ACCEPT» вставлять при загрузке.

Если хочешь сам рулить правилами через команду «iptables», то убедись для начала, что у тебя iptables в автозагрузку не включен.

armbox
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.