PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : firewall nat + pcanywhere



hjn
12.03.03, 17:41
hallo zusammen

brauch hilfe für folgendes problem

ich muß von einem rechner (windows mit pcanywhere) über das internet auf
ein netzwerk zugreifen (für vernwartung).

das netzwerk ist mit einem linux (suse 8.1) proxy-server mit dem internet verbunden (isdn)
ein kleines firewall-script (iptables) existiert auch schon auf dem proxy-server.
auf dem proxy-server kann vom internet aus zugegriffen werden (es existiert eine kleine webseite)

im netzwerk gibt es einen rechner (windows mit pcanywhere) mit der ip 192.168.10.121 auf dem zugegriffen werden soll.
der proxy-server hat die ip 192.168.10.10
so wie ich das gelesen habe braucht pcanywhere die ports 5631 + 5632

und nun die frage
wie muß die weiterleitung sein

diese regeln habe ich aufgestellt, aber sie laufen nicht


# NAT fuer pcanywhere
iptables -t nat -A PREROUTING -i ippp0 -p tcp -d 192.168.10.10 --dport 5631 -j DNAT --to destination 192.168.10.121
iptables -t nat -A POSTROUTING -o eth0 -p tcp --dport 5631 -j SNAT --to-source 192.168.10.10
iptables -A FORWARD -i ippp0 -m state --state NEW,ESTABLISHED,RELATED -p tcp -d 192.168.10.121 --dport 5631 -j ACCEPT
iptables -A FORWARD -i ippp0 -m state --state ESTABLISHED,RELATED -p tcp -s 192.168.10.121 --sport 5631 -j ACCEPT

iptables -t nat -A PREROUTING -i ippp0 -p tcp -d 192.168.10.10 --dport 5632 -j DNAT --to-destination 192.168.10.121
iptables -t nat -A POSTROUTING -o eth0 -p tcp --dport 5632 -j SNAT --to-source 192.168.10.10
iptables -A FORWARD -i ippp0 -m state --state NEW,ESTABLISHED,RELATED -p tcp -d 192.168.10.121 --dport 5632 -j ACCEPT
iptables -A FORWARD -i ippp0 -m state --state ESTABLISHED,RELATED -p tcp -s 192.168.10.121 --sport 5631 -j ACCEPT


besten dank im voraus
hjn

HangLoose
12.03.03, 22:10
moin moin

versuch es mal hiermit

iptables -t nat -A PREROUTING -i ippp0 -p tcp --dport 5631:5632 -j DNAT --to destination 192.168.10.121

iptables -A FORWARD -i ippp0 -o $int -m state --state NEW,ESTABLISHED,RELATED -p tcp -d 192.168.10.121 --dport 5631:5632 -j ACCEPT


ich nehme mal an, das in deinem script schon eine regel existiert, die pakete die zu einer bestehenden verbindung gehören auch wieder rauszulassen, wenn nicht

iptables -A FORWARD -i $int -o ippp0 -m state --state ESTABLISHED,RELATED -j ACCEPT



Gruß HL

hjn
13.03.03, 21:06
hallo

leider funktioniert es nicht

ich habe einen rechner zum testen aufgebaut mit 2 netzwerkkarten
eth1 ersetzt ippp0 (ich hoffe das ist richtig)
ping und auch samba läuft von beiden seiten
hier einmal das komplette script

eth0 hat die ip 192.168.10.30
eth1 hat die ip 192.168.1.99



modprobe ip_tables
modprobe ip_conntrack
modprobe ip_conntrack_irc
modprobe ip_conntrack_ftp

# Tabelle flushen
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X

# Default-Policies setzen
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

# MY_REJECT-Chain
iptables -N MY_REJECT

# MY_REJECT fuellen
iptables -A MY_REJECT -p tcp -j REJECT --reject-with tcp-reset
iptables -A MY_REJECT -p udp -j REJECT --reject-with icmp-port-unreachable
iptables -A MY_REJECT -p icmp -j DROP
iptables -A MY_REJECT -j REJECT --reject-with icmp-proto-unreachable

# MY_DROP-Chain
iptables -N MY_DROP
iptables -A MY_DROP -j DROP

# Loopback-Netzwerk-Kommunikation zulassen
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# Connection-Tracking aktivieren
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i ! eth1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Ping (nur zum Testen)
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT


iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 5631:5632 -j DNAT --to-destination 192.168.10.121
iptables -A FORWARD -i eth1 -o eth0 -m state --state NEW,ESTABLISHED,RELATED -p tcp -d 192.168.10.121 --dport 5631:5632 -j ACCEPT

iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT

# LAN-Zugriff auf eth0
iptables -A INPUT -m state --state NEW -i eth0 -j ACCEPT

# Default-Policies mit REJECT
iptables -A INPUT -j MY_REJECT
iptables -A OUTPUT -j MY_REJECT
iptables -A FORWARD -j MY_REJECT

# Routing
echo 1 > /proc/sys/net/ipv4/ip_forward 2> /dev/null

# Masquerading
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE


besten dank im voraus
hjn

HangLoose
13.03.03, 21:25
hi

und die ports 5631 und 5632 sind auch richtig? hast du mal in den logs nachgesehen, ob dort was auftaucht?

edit: nimm mal probehalber die udp-ports mit rein


Gruß HL