Linux-Bulgaria.ORG
навигация

 

начало

пощенски списък

архив на групата

семинари ...

документи

как да ...

 

 

Предишно писмо Следващо писмо Предишно по тема Следващо по тема По Дата По тема (thread)

[Lug-bg] NAT и source routing


  • Subject: [Lug-bg] NAT и source routing
  • From: "Rossen Antonov" <rossen.antonov@xxxxxxxxx>
  • Date: Fri, 26 Sep 2008 17:10:23 +0300

Здравейте,

Ползвам DD-WRT. На него работи уеб сървер, който слуша на порт 443 и
това не може да бъде променено. За да преместят този порт, момчетата
от DD-WRT са направили следното:

iptables -t nat -A PREROUTING -p tcp -d 195.х.х.х --dport 10443 -j
DNAT --to-destination:192.168.0.1:443
iptables -A INPUT -p tcp -d 192.168.0.1 --dport 443 -j ACCEPT
А директните заявки до реалното IP към порт 443 попадат в последнто
DROP правило на INPUT веригата във Filter таблицата.
По този начин те NAT-ват заявките към 10443 към вътрешното IP на
рутера и забраняват директната връзка към порт 443 на външното IP.
Супер!

Но за моите цели ми е нужно да ползвам source routing
За целта правя следното:
ip rule add to 195.х.х.х table 200
ip rule add from 195.х.х.х table 200
ip route add table 200 default via 195.х.х.1

За съжаление по този начин отговорите на уеб сървера (както и
заявките, поне ми се струва, защото input routing-a е след NAT-a) не
попадат в рутинг таблица 200. Това кара отговорите да бъдат рутирани
към зададения гейт в main рутинг таблицата, а аз искам да бъдат
пратени към 195.х.х.1 (гейта на таблица 200).

Мъчих се да маркирам заявките, които влизат и после по този маркер да
ги вкарвам в рутинг таблица 200:
iptables -t mangle -A PREROUTING -p tcp -d 195.х.х.х --dport 10443 -j
MARK --set-mark 0х01
(тук след маркирането се прави NAT-ването)
ip rule add fwmark 0х01 table 200

Това си мислех, че ще ми реши проблема, но след като не стана осъзнах,
че така маркирам само входящите пакети (т.е. заявките към уеб
сървера), а изходящите така или иначе остават немаркирани. Мъчих се да
маркирам и тях в OUTPUT или POSTROUTING на mangle таблицата, но
броячите на правилата, които добавях стояха на 0 при всички проби.

Докато се ровех видях, че във filter таблицата може да ACCEPT-вам
маркирани с CONMARK пакети, но такова животно няма в ядрото на DD-WRT.

Някой може ли да даде други предложения?

И също така - живо ме интересува - къде в схемата на този адрес:
http://www.docum.org/docum.org/kptd/
се прави обратния процес на NAT-a за отговорите?

Благодаря :)
_______________________________________________
Lug-bg mailing list
Lug-bg@xxxxxxxxxxxxxxxxxx
http://linux-bulgaria.org/mailman/listinfo/lug-bg


 

наши приятели

 

линукс за българи
http://linux-bg.org

FSA-BG
http://fsa-bg.org

OpenFest
http://openfest.org

FreeBSD BG
http://bg-freebsd.org

KDE-BG
http://kde.fsa-bg.org/

Gnome-BG
http://gnome.cult.bg/

проект OpenFMI
http://openfmi.net

NetField Forum
http://netField.ludost.net/forum/

 

 

Linux-Bulgaria.ORG

Mailing list messages are © Copyright their authors.