znaczacy > comp.os.* > comp.os.linux.sieci

Paweł (11.11.2010, 19:58)
Witam,

Będę ogromnie wdzięczny za jakąś podpowiedź, bo już mi ręce opadają..
Mam taką sytuację, że na serwerze stoi Debian. Na nim zainstalowany ipmasq,
który zapewnia masquaradę dla sieci wewnętrznej. Nie ma tam więc standardowych
skryptów iptables, tylko pliki *rul ipmasq'a. Serwer ma IP powiedzmy
193.0.34.20 (eth0) i wewnętrzny interfejs eth1 (192.168.0.1). Wewnętrzna sieć
jest w klasie 192.168.0.0 (maska 255.255.255.0). Muszę w zastępstwie dodać
regułkę do ipmasq'a (jest włączony standardowo, właściwie nie ma tam żadnych
dodatkowych regułek. Zapewnia tylko maskaradę) która przekieruje połączenie na
port 5666 na hosta w sieci wewnętrznej (192.168.0.50) i port 22. Reasumując
ktoś się łączy z zewnątrz na eth0 serwera na port 5666 (czyli 193.0.34.20 -p
5666) i zostaje przekierowany na port 22 (ssh) hosta wewnątrz sieci 192.168.0.50.

Dodałem do /etc/ipmasq/rules plik F10portfw.rul z taką zawartością:

$IPTABLES -A FORWARD -i eth0 -o eth1 -p tcp --dport 5666 -m state --state
NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A PREROUTING -t nat -p tcp -d 193.0.34.20 --dport 5666 -m state
--state NEW,ESTABLISHED,RELATED -j DNAT --to 192.168.0.50:22

..niestety nie działa. Dodanie tych regułek do F00chain.rul także nic nie
daje. Wygląda to tak, jakby ipmasq wymagał jeszcze jakiejś regułki, która
pozwoli na takie przekierowanie.. Mój ipmasq --display wygląda tak:
Paweł (12.11.2010, 00:23)
Jak zmodyfikowałem plik .rul i dodałem ACCEPT dla FORWARD i INPUT na
stosownych portach, czyli:

$IPTABLES -A FORWARD -d 192.168.0.50 -p tcp -m tcp --dport 22 -j ACCEPT
$IPTABLES -A INPUT -d 193.0.34.20 -p tcp -m tcp --dport 5666 -j ACCEPT
$IPTABLES -A PREROUTING -t nat -d 193.0.34.20 -p tcp -m tcp --dport 5666 -j
DNAT --to-destination 192.168.0.50:22

.. to nadal to samo :(

Tak jakby ipmasq miał jakieś inne regułki, blokujące te moje.. lub jakby
czegoś jeszcze brakowało...

pozdr
PAweł
Podobne wątki