Iptables Routing Frage

Bash, Shell, PHP, Python, Perl, CGI
alfmanuel
Posts: 59
Joined: 2004-04-04 13:12
Location: AT [salzburg]

Iptables Routing Frage

Post by alfmanuel »

Hallo :-)

ich habe mir jetzt mal ein IPTables Routing Script gesucht und eingebaut... Fruchtet auch perfekt... (habe es unten angehängt)
Nun aber sind noch DInge offen, wo ich nicht wirklich weiß wie ich sie implementiere... Bitte um Hilfe :-)

- Von OpenVPN Clients (tun0 --> netz 192.168.10.0/24) sollte man sowohl ins LAN (eth2) als auch ins internet können...
- Bei allen clients aus dem LAN (eth2) sollte man bei zugriff mittels port 80 auf irgendeinen server zu einer infoseite kommen. (ich werde in weiterer
folge das forwarding droppen, sodass clients nur über einen proxy surfen können -> daher sollen sie so zu einer infoseite kommen... infoseite ist erreichbar unter http://172.16.1.1:80)


bitte um hilfe und unterstützung


lg
manuel

Code: Select all

#!/bin/sh 
EXT_DEV=eth3 
INT_DEV=eth2 
INT_NET=172.16.0.0/16 
IPTABLES=/sbin/iptables 

case $1 in 
        start) 
        echo "Activate routing" 
                # load required modules 
                modprobe iptable_nat 

                # flush all tables, an set all connections to accept 
                $IPTABLES -t filter -F INPUT 
                $IPTABLES -t filter -F OUTPUT
                $IPTABLES -t filter -F FORWARD 
                $IPTABLES -t filter -P INPUT ACCEPT 
                $IPTABLES -t filter -P OUTPUT ACCEPT 
                $IPTABLES -t filter -P FORWARD ACCEPT 
     
                # set up routing for internal network 
                $IPTABLES -t nat -F POSTROUTING 
                echo 1 > /proc/sys/net/ipv4/ip_forward 
                $IPTABLES -t nat -A POSTROUTING -o $EXT_DEV -s $INT_NET -j MASQUERADE 

		echo 1 > /proc/sys/net/ipv4/ip_dynaddr
        	#new 
        
         
                # accept all connections on localhost 
                $IPTABLES -t filter -A INPUT -i lo -s 0/0 -d 0/0 -j ACCEPT 

                #Open a ports 
        	#$IPTABLES -t filter -A INPUT -i $EXT_DEV -p tcp --dport 21 --syn -j ACCEPT 80 --syn -j ACCEPT 

                #Forward this Ports to 192.168.0.2 
                #$IPTABLES -t nat -F PREROUTING 
        	#$IPTABLES -t nat -A PREROUTING -i $EXT_DEV -p tcp --dport 4662 -j DNAT --to 192.168.0.2 

                # don't route this ports/ips 
                #$IPTABLES -t filter -A FORWARD -p tcp -i $INT_DEV -s 10.10.12.21 -j REJECT 
                #$IPTABLES -t filter -A FORWARD -p tcp -i $INT_DEV -s 10.10.12.21 --dport 80 -j REJECT 
                #$IPTABLES -t filter -A FORWARD -p tcp -i $INT_DEV -s 10.10.12.21 --dport 7082 -j REJECT 
        	#$IPTABLES -t filter -A FORWARD -p tcp -i $INT_DEV -s 10.10.12.20 -d www.uboot.com -j REJECT 
        	#Wir wollen verhindern das Port 21 geroutet wird 
        	#$IPTABLES -t filter -A FORWARD -p tcp -i $INT_DEV --dport 21 -j REJECT 
         
                # set up some logging rules 
                #$IPTABLES -t filter -A INPUT -p tcp -j LOG --log-prefix "INPUT: TCP " 
                #$IPTABLES -t filter -A INPUT -p udp -j LOG --log-prefix "INPUT: UDP " 
  
        echo "Firewall & Routing activated" 
       ;; 

        stop) 
                $IPTABLES -t filter -F INPUT 
                $IPTABLES -t filter -F OUTPUT 
                $IPTABLES -t filter -F FORWARD 
                $IPTABLES -t nat -F POSTROUTING 
        ;; 

        restart) 
                $0 stop && $0 start 
        ;; 

        *) 
                echo "Usage: $0 {start|stop|restart}" 
        ;; 

esac
Anonymous

Re: Iptables Routing Frage

Post by Anonymous »

hi,
alfmanuel wrote:OpenVPN Clients
verwende dies

Code: Select all

$IPTABLES -t nat -A POSTROUTING -o $EXT_DEV -s tun+ -j MASQUERADE 
$IPTABLES -t nat -A POSTROUTING -o $INT_DEV -s tun+ -j MASQUERADE
alfmanuel wrote:allen clients aus dem LAN
müsste das funktionieren

Code: Select all

$IPTABLES -t nat -A PREROUTING -p tcp --dport 80 -i $INT_DEV -j DNAT --to-destination 172.16.1.1:80
hoffentlich hat es dir geholfen
konnte es leider nicht ausprobieren

hatte es auf folgender Seite http://lugddlect.sourceforge.net/vortraege/firewall.txt gefunden