Маршрутизация портов

8 сообщений / 0 new
Последнее сообщение
McClaud
Не в сети
Зарегистрирован: 20/09/2010
Маршрутизация портов

Доброго времени суток господа!
Ступор стал у меня в следующем:
Есть 3 машины, на одной я тупо (работаю, играюсь и пр), 2я в качестве сервера и третья старый сервер но пока еще выкидывать не собираюсь (порябок не навел).
На new server стои Debian что бы транслировать инет, я, воспользовался настройкой маршрутизации по [link=http://bible-mda.ru/soft/debian-4.0-firewall/debian-4.0-firewall.html]IPtables и NAT [/link] и так как у меня маршрутизатора нет, я сделал мост из двух сетивух смотрящие на машины по вот этой [link=http://mczim-debian.blogspot.com/2007/10/bridge-linux.html ]статье[/link] желаемого результата добился ;-) но загвоздка в том что мне надо открыть порты 8080 и 3306 на старый сервак. Можно конечно поднять все службы и на новом - но охото сделать маршрутизацию. При создании правила с работай фаервола прописываю таким образом "Open external TCP-ports:" - IPмашина:8080 ,IPмашина:3306 но видно что пакеты не проходят. Когда прописываю просто парты без айпи видно что идет конфликт между двумя машинами - рабочей и old_server.
Заранее спасибо всем кто откликнется!

<span class='smallblacktext'>[ Редактирование ]</span>

WhiteDragon (не проверено)

iptables -t nat -A PREROUTING -p tcp -m multiport --dport 8080,3306 -j DNAT --to-destination 192.168.0.1
iptables -t nat -A POSTROUTING -d 192.168.0.1 -j MASQUERADE

это в общем случае
а вообще надо смотреть что там нагорожено
и желательно понимать как работает iptables

McClaud
Не в сети
Зарегистрирован: 20/09/2010

[quote=WhiteDragon]желательно понимать как работает iptables[/quote]
В полне с вами согласен B-)

[quote=WhiteDragon]iptables -t nat -A PREROUTING -p tcp -m multiport --dport 8080,3306 -j DNAT --to-destination 192.168.0.1
iptables -t nat -A POSTROUTING -d 192.168.0.1 -j MASQUERADE[/quote]

Вопрос появился по поводу этих команд: Как видно что айпи в данном случае указывается главной машины. А разве мне не надо указать айпи той машины на которую мне надо открыть порты?

McClaud
Не в сети
Зарегистрирован: 20/09/2010

Да, и как откатать эти правила (на тот случай когда не понадобится)
<span class='smallblacktext'>[ Редактирование 04.05.2008 - 10:57:45 ]</span>

fullout (не проверено)

[quote=McClaud]
Как видно что айпи в данном случае указывается главной машины. А разве мне не надо указать айпи той машины на которую мне надо открыть порты?
[/quote]
Пример (у меня правда маршрутизатором дома работает)
# FORWARD Torrent
$IPTABLES -t nat -A PREROUTING -p tcp -d $STATIC_IP --dport 14007 -j DNAT --to-destination $FRWR_HOST:14077

Пробрасываю трафик tcp с порта 14007 приходящий на $STATIC_IP на тот же порт $FRWR_HOST.
В случае примера WhiteDragon'а в --to-destination и маскарадинг натравливаешь адрес той машины, которую пробрасываешь.

[quote=McClaud]Да, и как откатать эти правила (на тот случай когда не понадобится)
[/quote]

можно до применения iptables-save в файл, а потом iptables-restore для востановления из файла

у меня вообще скрипт /etc/rc.d/rc.firewall перед правилами делает сброс

# Clear ALL rules
$IPTABLES -F
$IPTABLES -X
$IPTABLES -t nat -F

З.Ы. Артур, лучше настрой нормально роутером сервак. Потом гемора меньше, можешь поверить. Том более настраивается двумя командами :)

McClaud
Не в сети
Зарегистрирован: 20/09/2010

Народ я запутался! В Debian нет iptables - [link=http://debian-russian.org/debian-faq/networking/kak-sdelat-avtozapusk-fairvolla-kuda-delsya-etc-init-d-iptables ]вот статья[/link]
И я столкнулся с проблемой - все мой движения с бриджем и фаервлом отваливаются после рибута
Растолкуйте плиз!
<span class='smallblacktext'>[ Редактирование 04.05.2008 - 20:37:51 ]</span>

McClaud
Не в сети
Зарегистрирован: 20/09/2010

Все, всем спасибо кто откликнулся. Вчерашний вечер был продуктивным, все сделал, все получилось. Бридж надо было добавить в /etc/network/interfaces и порты прописать в конфиге фаервола.
Но кто мне сможет объяснить с Iptabels.conf в дебиан. Если его убрали, то куда и как же без фаервола тогда управлять сетью?

WhiteDragon (не проверено)

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

у меня нет дебианов под руками, и я с ними с той стороны не возился - не скажу как там
в федоре (и в большенстве редхат-базед дистров) это так:
строишь правила напрямик коммандой iptables (есть конечно гуи/туи всякие - но они не дают и половины того что мне бывает надо)
удовлетворившись результатом говоришь просто service iptables save (или /etc/init.d/iptables save)
оно сохраняет текущие правила в /etc/sysconfig/iptables (посути просто iptables-save >/etc/sysconfig/iptables, только с рюшечками :))
для всасывания обратно использует iptables-restore </etc/sysconfig/iptables (опятьже с рюшечками :))

RSS-материал