Hallo Leute, ich habe folgendes Problem:
Ich hab 2 NW eth1 192.168.10.0/24 mit DHCP und Internet und eth2 192.168.202.0/24 mit Windows Clients
Ich habe einen Router mit 2 Karten genau zwischen den Netzen hängen eth0 192.168.10.70 (über DHCP bezogen) eth2 192.168.202.1 (statisch)
eth0 Link encap:Ethernet HWaddr 00:0d:b9:18:9d:5c inet addr:192.168.10.70 Bcast:192.168.10.255 Mask:255.255.255.0 inet6 addr: fe80::20d:b9ff:fe18:9d5c/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:13642 errors:0 dropped:0 overruns:0 frame:0 TX packets:7226 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1281717 (1.2 MB) TX bytes:1017260 (993.4 KB) Interrupt:10 Base address:0x2000 eth2 Link encap:Ethernet HWaddr 00:0d:b9:18:9d:5e inet addr:192.168.202.1 Bcast:192.168.202.255 Mask:255.255.255.0 inet6 addr: fe80::20d:b9ff:fe18:9d5e/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:686 errors:0 dropped:0 overruns:0 frame:0 TX packets:77 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:80984 (79.0 KB) TX bytes:11478 (11.2 KB) Interrupt:15 Base address:0xc000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:20 errors:0 dropped:0 overruns:0 frame:0 TX packets:20 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1680 (1.6 KB) TX bytes:1680 (1.6 KB)
Auf dem Router läuft nur ein DHCP Server für den Bereich 192.168.202.0/24 der die Clients bedient.
Ich nutze folgende Skript für IPTables:
# #!/bin/bash #----------------------------------------------------------------------------- # # IPTabels fuer Router-102 # #----------------------------------------------------------------------------- case "$1" in start) echo "Starte IP-Paketfilter" # proc Konfiguration # Aktiviert das ROUTING echo " 1" > /proc/sys/net/ipv4/ip_forward echo "1" > /proc/sys/net/ipv4/tcp_syncookies echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses # Alte Regeln loeschen iptables -F INPUT iptables -F OUTPUT iptables -F FORWARD iptables -F firewall iptables -X firewall iptables -N firewall iptables -A firewall -i lo -j ACCEPT iptables -A firewall -m state --state INVALID -j DROP iptables -A firewall -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -t nat -F POSTROUTING iptables -t nat -F PREROUTING iptables -t nat -F OUTPUT iptables -F #* -> fw #iptables -A INPUT -j ACCEPT #iptables -A INPUT -i eth0 -s 192.168.10.0/24 -j ACCEPT #iptables -A INPUT -i eth2 -s 192.168.200.0/24 -j ACCEPT # intern2 - LAN-CPN #iptables -A firewall -i eth0 -o eth2 -d 0.0.0.0/0.0.0.0 -j ACCEPT # LAN-CPN - intern2 #iptables -A firewall -i eth2 -o eth0 -d 192.168.10.0/255.255.255.0 -j ACCEPT #rest abweisen #iptables -A firewall -p tcp -j REJECT --reject-with tcp-reset #iptables -A firewall -j REJECT #Pakete in Regelwerk geben #iptables -A INPUT -j firewall #iptables -A FORWARD -j firewall # Masquerading aktivieren iptables -A POSTROUTING -o eth02 -s 192.168.10.0/24 -t nat -j MASQUERADE # NAT fue die Clients im LAN /sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward ;; #Beenden stop) echo "Stoppe IP-Paketfilter" # Tabelle flushen iptables -F iptables -t nat -F iptables -t mangle -F iptables -X iptables -t nat -X iptables -t mangle -X echo "Deaktiviere IP-Routing" echo 0 > /proc/sys/net/ipv4/ip_forward # Default Policies setzen iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT ;; status) echo "Tabelle filter" iptables -L -vn echo "Tabelle nat" iptables -nat -L -vn echo "Tabelle mangle" iptables -t mangle -L -vn ;; *) echo "Fehlerhafter Aufruf" echo "Syntax: $0 {start|stop|status}" exit 1 ;; esac
Mein Ziel ist es jetzt das ich zum Testen von den Clients in das andere Netzwerk pingen will und dann später mit ihnen ins Internet will. Hab schon an statische Routen gedacht, aber da ich mein System sehr oft neu aufsetze müsste ich diese immer wieder neu anlegen und das nervt auf dauer. Darum suche ich nach einer dauerhaften Lösung für das Problem.
Mir kam der Gedanke das ich das Routing evtl in das IPTABLES Skript mit aufnehmen könnte, dann kann ich das Skript kopieren und brauch es jedesmal nur neu aufspielen wenn ich ein neues System aufgesetzt hab.
Hat jemand von euch eine Idee was ich machen könnte ?
Bekomme übrigens folgende Fehlermeldung beim ausführen des IPTABLES Skriptes:
root@rt-102:/# ./firewall.sh start Starte IP-Paketfilter iptables: No chain/target/match by that name iptables: No chain/target/match by that name root@rt-102:/#
Falls jemand weiß was damit gemeint ist, ich freue mich über jeden hilfreichen hinweis.
BigTHX