Přesměrování portů (NAT 1:1)

mandrake.user mandrake.user na seznam.cz
Čtvrtek Srpen 23 13:51:56 CEST 2007


Dobrý den.
Mám následující funkci, která přesměruje všechny potry jdoucí na veřejnou adresu na routeru do vnitřní sítě na neveřejnou adresu.
----------------------------------------------------------------------------
forward_all_ports(){
    #forward_all_ports 1xx.1x.xx.88 192.168.109.15;
    PUB_A="$1" &&
    LOC_A="$2" &&
    LAN_M="172.16.0.0/12" &&
    LAN_M1="62.77.75.32.0/28" &&
    $IPTABLES -t nat    -I PREROUTING -d $PUB_A -j DNAT --to $LOC_A &&
    $IPTABLES -v -t nat -I POSTROUTING -d $LOC_A -j SNAT --to $PUB_A &&
    $IPTABLES -t filter -I FORWARD  -i $INET_IFACE -o $LAN1_IFACE -p all -d $LOC_A -j ACCEPT &&
    $IPTABLES -t nat    -I OUTPUT     -d $PUB_A -j DNAT --to $LOC_A &&
    return 0 ||
    return 1 ;
}

forward_all_ports 1xx.xx.1xx.10 172.37.0.37;
--------------------------------------------------------------------------
Problém je, že je tam někde bota a uživateli se tváří všechna příchozí spojení jako že jdou z jeho veřejné adresy. Takže nemůže třeba povolit ftp přístup na základě adresy.

Vidíte tam někdo tu chybu?

Děkuji.
Zdeněk Havlát. 



Další informace o konferenci Linux