ich habe einen (noch-woody) router auf dem nur der sshd laeuft. auf diesen port kann ich sowohl mit interner IP als auch externer IP aus dem internen netz zugreifen.
nun will ich mittels portforwarding ftp und http von einer anderen kiste erreichbar machen. problem: die ports sind nur von aussen erreichbar vom internen netz komme ich nur ueber die interne IP heran. wo liegt der fehler im skript bzw. was fehlt?
Code: Alles auswählen
#!/bin/sh
set -e
EXTIF=eth1
INTIF=eth0
EXTIP=195.x.x.x
PRINTERIP=192.168.1.45
INTNET='192.168.1.0/24'
echo 1 >/proc/sys/net/ipv4/ip_forward
iptables -P INPUT ACCEPT
iptables -F INPUT
iptables -P OUTPUT ACCEPT
iptables -F OUTPUT
iptables -P FORWARD DROP
iptables -F FORWARD
iptables -t nat -F
iptables -A INPUT -i $EXTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i $INTIF -o $EXTIF -s $INTNET -j ACCEPT
iptables -A FORWARD -i $EXTIF -o $INTIF -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -i $EXTIF -o $INTIF -p tcp --dport 21 -j ACCEPT
iptables -A FORWARD -j LOG
iptables -t nat -A POSTROUTING -o $EXTIF -s $INTNET -j MASQUERADE
iptables -t nat -A PREROUTING -p tcp -i $EXTIF --dport 80 -j DNAT --to $PRINTERIP:80
iptables -t nat -A PREROUTING -p tcp -i $EXTIF --dport 21 -j DNAT --to $PRINTERIP:21