michi1983
Goto Top

iptables problem bei ubuntu server mit 2 NIC

ich bin mit meinem Latein endgültig am Ende face-sad

Hallo Leute,

ich brauch dringend eure Hilfe!

Ich weiß, dass das Thema wurde "grundsätzlich" schon x-mal behandelt, doch eben nicht für meinen speziellen fall wie ich meine.

folgendes szenario...

ich habe einen Server mit Ubuntu dapper aufgesetzt in dem 2 Nic eingebaut sind. eth0 und eth1
an der eth1 hängt ein gb-switch und auf eth1 läuft auch ein dhcp server der die ip-adressen für das interne lan vergibt. funktioniert alles einwandfrei soweit. netz: 192.168.2.0/24

die eth0 ist direkt mit dem zyxel modem vom provider verbunden und hat eine fixe, öffentliche ip adresse. wir haben 8 öffentliche, fixe IP-Adressen zur Verfügung.

ich verwende iptables auf dem server.

das problem nun...

der Server gelangt ins internet. ich kann mir updates saugen mittels apt-get saugen usw.. (bin mit ssh auf dem server verbunden) und die clients die dranhängen beziehen schön ihre ip adressen von eth1 (dhcp server). was allerdings nicht geht... die clients kommen nicht ins internet.
und ich versteh um gottes willen nicht warum das so ist.

ich würd euch gerne die ganzen configs hier posten, weiß aber nicht ob ich das einfach so in den beitrag kann/darf (forenregeln) oder wie ich es sonst machen soll.

kann mir jemand von euch sagen ob es an der iptables firewall liegt oder ob ihr ne andere ahnung habts was ich vergessen bzw. falsch gemacht habe ??

lg und danke im voraus

Content-Key: 78795

Url: https://administrator.de/contentid/78795

Printed on: April 16, 2024 at 08:04 o'clock

Mitglied: 39916
39916 Jan 22, 2008 at 11:04:20 (UTC)
Goto Top
Hi michi1983,

was sagt denn ein traceroute auf den Clients? Bleibst Du auf der ersten NIC hängen? Dann fehlt Dir hier evtl. die entsprechende Route!

Gruß,

Martin
Member: michi1983
michi1983 Jan 22, 2008 at 11:19:15 (UTC)
Goto Top
Hi Martin,

danke für die flotte Antwort.

ein PRINT ROUTE auf meiner xp kiste (client) gibt folgendes aus:

aktive routen:
netzwerkziel netzwerkmaske Gateway Schnitstelle anzahl
0.0.0.0 0.0.0.0 92.168.2.1 192.168.2.16 10
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
169.254.0.0 255.255.0.0 192.168.2.16 192.168.2.16 30
192.168.2.0 255.255.255.0 192.168.2.16 192.168.2.16 10
192.168.2.16 255.255.255.255 127.0.0.1 127.0.0.1 10
192.168.2.255 255.255.255.255 192.168.2.16 192.168.2.16 10
224.0.0.0 240.0.0.0 192.168.2.16 192.168.2.16 10
255.255.255.255 255.255.255.255 192.168.2.16 192.168.2.16 1
Standardgateway: 192.168.2.1

Ständige Routen:
keine

was heißt das jetzt für mich ? face-smile

kann ich das eigentlich anders eingeben als von hand face-smile is ziemlich zach sonst face-smile

lg schon mal.

lg, michael
Mitglied: 39916
39916 Jan 22, 2008 at 11:28:08 (UTC)
Goto Top
Mach mal einen tracert web.de und poste das Ergebnis.

Gruß,

Martin
Member: michi1983
michi1983 Jan 22, 2008 at 11:33:03 (UTC)
Goto Top
hi Martin,

vom Client aus:

Zielname Web.de konnte nicht aufgelöst werden

irgendwie klar, da ich ja keine internetverbindung hab oder ?

lg
Mitglied: 39916
39916 Jan 22, 2008 at 11:46:36 (UTC)
Goto Top
Nö, Dein DNS passt nicht. Was gibt dir ipconfig /all aus? Was ist Dein DNS-Server?
Member: michi1983
michi1983 Jan 22, 2008 at 11:53:50 (UTC)
Goto Top
ethernetadaper lan:

verbindungsspezifische dns-suffix: "hostname des servers"
beschreibung: broadcom netxtreme bla bla bla
physikalische adresse: bla bla bla
dhcp aktiviert: ja
autokonfiguration aktiviert: ja
ip-adresse: 192.168.2.16
subnetzmaske: 255.255.255.0
standardgateway: 192.168.2.1
dhcp-server: 192.168.2.2
dns-server: 195.34.133.21 und .22 am schluss (dns adressen von chello,Österreich)
lease erhalten: bla bla bla
lease läuft ab: bla bla bla
Mitglied: 39916
39916 Jan 22, 2008 at 11:57:42 (UTC)
Goto Top
Auf Deinen DNS hast Du keine Route. Kannst Du auf die Seite 217.72.195.42? Was sagt route -n am Server?
Member: michi1983
michi1983 Jan 22, 2008 at 12:13:17 (UTC)
Goto Top
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
"gateway des providers" 0.0.0.0 255.255.255.248 U 0 0 0 eth0
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
0.0.0.0 192.168.2.1 0.0.0.0 UG 0 0 0 eth1
0.0.0.0 "gateway des provider modems" 0.0.0.0 UG 0 0 0 eth0
Member: michi1983
michi1983 Jan 22, 2008 at 12:14:23 (UTC)
Goto Top
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
"1. von unseren 8 ip adressen" 0.0.0.0 255.255.255.248 U 0 0 0 eth0
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
0.0.0.0 192.168.2.1 0.0.0.0 UG 0 0 0 eth1
0.0.0.0 "2. von den 8 adressen" 0.0.0.0 UG 0 0 0 eth0


kanns sein dass ich eine linux bridge machen muss um das zu realisieren was ich gern hätte und gerade am kompletten holzweg bin ?
Mitglied: 39916
39916 Jan 22, 2008 at 12:15:32 (UTC)
Goto Top
Kommst Du vom Client auf die IP-Adresse?

EDIT.

Und was sagt cat /proc/sys/net/ipv4/ip_forward ?
Member: michi1983
michi1983 Jan 22, 2008 at 12:19:47 (UTC)
Goto Top
nein auf die adresse komme ich nicht.
ich kann nur den server selbst anpingen, sonst nichts.

soll ich mal mein iptables script irgendwo posten ?
Mitglied: 39916
39916 Jan 22, 2008 at 12:31:19 (UTC)
Goto Top
Was sagt cat /proc/sys/net/ipv4/ip_forward ?
Member: michi1983
michi1983 Jan 22, 2008 at 12:38:47 (UTC)
Goto Top
ist in meinem firewall mit echo 1 gesetzt, das müsste also passen

ich vermute dass es irgendein eintrag im forward bezüglich NAT ist, der nicht passen könnte.

eine generelle frage, wenn die iptables fw richtig konfiguriert ist, müsste diese von mir beschriebene konstellation funktionieren oder was ist mit dieser linux/ethernet bridge von der ich gerade gelesen habe ?

kann dir auch das fw script posten wenn du magst.

und vielen dank für die ganzen antworten und deine mühe.

lg, michael
Mitglied: 39916
39916 Jan 22, 2008 at 12:43:56 (UTC)
Goto Top
Wollte ich zwar vermeiden (weils so aufwädnig zu lesen ist) face-wink , aber dann - her damit. Dauert allerdings ne Weile - die Kunden rufen gerade.
Member: michi1983
michi1983 Jan 22, 2008 at 12:47:27 (UTC)
Goto Top
oh gott, ich bin dir dankbar !! lass dir zeit face-smile

kommentare bezüglich design des scriptes usw. lassen wir jetzt mal weg face-smile mir gehts darum ob du erkennen kannst, warum das nicht so funktioniert wie ich mir das wünsche.

#!/bin/sh

  1. vers. 01
  2. 16-01-2008

#Devices
EXT_DEV=eth0
INT_DEV=eth1

#Das interne Netzwerk allgemein
INT_NET=192.168.2.0/24

#Der Pfad zur iptables
IPTABLES=/sbin/iptables

#Variablen
NAT_FORWARDING_TCP_PORT="25,80,110,443"
INPUT_INTERNET_TCP_PORT="443,22"

case $1 in
start)
$0 stop

#Deny everything except what we want
$IPTABLES -t filter -P INPUT DROP
$IPTABLES -t filter -P OUTPUT DROP
$IPTABLES -t filter -P FORWARD DROP

#Wenn wir NAT forwarding machen wollen, muessen wir es hier aktivieren
echo 1 > /proc/sys/net/ipv4/ip_forward

#TCP-FIN-Timeout zum Schutz vor DoS-Attacken setzen
echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout

###############################################
########### Defines the INPUT rules ###########
###############################################

#Accept each lo connection
$IPTABLES -t filter -A INPUT -i lo -j ACCEPT

#Internes LAN (ip-range) zulassen
$IPTABLES -I INPUT -m iprange --src-range 192.168.2.10-192.168.2.16 -j ACCEPT

#icmp
$IPTABLES -t filter -A INPUT -p icmp -j ACCEPT

$IPTABLES -t filter -A INPUT -s 0.0.0.0/0 -p tcp -m multiport --dport $INPUT_INTERNET_TCP_PORT -j ACCEPT

$IPTABLES -t filter -A INPUT -p tcp ! --syn -j ACCEPT

#Internet
$IPTABLES -t filter -A INPUT -i $EXT_DEV -s 195.34.133.21 -p udp -j ACCEPT #Nameserver
$IPTABLES -t filter -A INPUT -i $EXT_DEV -s 195.34.133.22 -p udp -j ACCEPT #Nameserver
$IPTABLES -t filter -A INPUT -i $EXT_DEV -p udp --dport 53 -j ACCEPT


###############################################
########### Defines the OUTPUT ules ###########
###############################################

$IPTABLES -t filter -A OUTPUT -o $EXT_DEV -j ACCEPT

#icmp
$IPTABLES -t filter -A OUTPUT -p icmp -j ACCEPT

#Accept each lo connection
$IPTABLES -t filter -A OUTPUT -o lo -j ACCEPT

#Internet
$IPTABLES -t filter -A OUTPUT -o $EXT_DEV -d 0.0.0.0/0 -p tcp -m multiport --dport $NAT_FORWARDING_TCP_PORT -j ACCEPT

$IPTABLES -t filter -A OUTPUT -p tcp ! --syn -j ACCEPT #syn packages


###############################################
############ Defines the NAT rules ############
###############################################

#icmp
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -m state --state NEW -p icmp -j ACCEPT

$IPTABLES -t nat -A POSTROUTING -p tcp -o $EXT_DEV -s $INT_NET -j MASQUERADE
$IPTABLES -t nat -A POSTROUTING -p udp -o $EXT_DEV -s $INT_NET -j MASQUERADE
$IPTABLES -t nat -A POSTROUTING -p icmp -o $EXT_DEV -s $INT_NET -j MASQUERADE

$IPTABLES -A FORWARD -p tcp ! --syn -j ACCEPT

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 start
;;

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

esac
Mitglied: 39916
39916 Jan 22, 2008 at 12:49:36 (UTC)
Goto Top
Fällt mir gerade noch ein - was passiert, wenn Du iptables anhälst? Geht's dann?
Member: michi1983
michi1983 Jan 22, 2008 at 12:57:22 (UTC)
Goto Top
d'oh !!!

nein face-sad

oh gott, warum das nicht face-sad
Mitglied: 39916
39916 Jan 22, 2008 at 13:07:28 (UTC)
Goto Top
Deine Routen stimmen nicht! Gib mal einen tracert 217.72.195.42 von Client.
Member: michi1983
michi1983 Jan 22, 2008 at 13:15:40 (UTC)
Goto Top
und wie kann ich das beheben ??

beim tracert deiner ip kam raus:

Routenverfolgung zu 217.72.195.42 über maximal 30 Abschnitte

1 * * * Zeitüberschreitung der Anforderung
2 * * * Zeitüberschreitung der Anforderung
3 * * * Zeitüberschreitung der Anforderung usw..
Mitglied: 39916
39916 Jan 22, 2008 at 13:23:55 (UTC)
Goto Top
Der kommt nichtmal zum Gateway. Ist das bei route PRINT in der ersten Zeile ein Druckfehler (92.168...)? Oder hast Du irgendwo in der Config einen Tippfehler? Außerdem ist seltsam, dass die 169.xxx route eingetragen ist...
Member: michi1983
michi1983 Jan 22, 2008 at 13:29:20 (UTC)
Goto Top
das ist ein schreibfehler gewesen sorry.

das mit der 169. versteh ich auch nicht wirklich.

also ... wie weiß ich welche routen ich setzen muss ?
2. wie kann ich in xp die routen neu setzen ??
heißt das ich muss das bei allen clients machen ??? oder liegt das an der config vom ubuntu server ???

lg
Mitglied: 39916
39916 Jan 22, 2008 at 13:33:00 (UTC)
Goto Top
Zeig mal Deine dhcpd.conf. Ich denke, die ist schuld.
Member: michi1983
michi1983 Jan 22, 2008 at 13:40:40 (UTC)
Goto Top
#
#Sample configuration file for ISC dhcpd for Debian
#
#$Id: dhcpd.conf,v 1.1.1.1 2002/05/21 00:07:44 peloy Exp $
#
subnet 192.168.2.0 netmask 255.255.255.0 {
option routers 192.168.2.1;
option subnet-mask 255.255.255.0;
option domain-name "server.cd.local"; # same as /etc/resolv.conf search value
option domain-name-servers 195.34.133.21, 195.34.133.22; # /etc/resolv.conf nameserver value
range dynamic-bootp 192.168.2.10 192.168.2.16;
default-lease-time 21600;
max-lease-time 43200;
}
#The ddns-updates-style parameter controls whether or not the server will
#attempt to do a DNS update when a lease is confirmed. We default to the
#behavior of the version 2 packages ('none', since DHCP v2 didn't
#have support for DDNS.)
ddns-update-style none;

#option definitions common to all supported networks...
#option domain-name "example.org";
#option domain-name-servers ns1.example.org, ns2.example.org;

#default-lease-time 600;
#max-lease-time 7200;
#if this DHCP server is the official DHCP server for the local
#Network, the authoritative directive should be uncommented.
authoritative;

#Use this to send dhcp log messages to a different log file (you also
#have to hack syslog.conf to complete the redirection).
log-facility local7;

//EDIT:

hier noch die dhclient.conf die auch im Ordner /etc/dhcp3/ liegt (genau wie dhcpd.conf)

#Configuration file for /sbin/dhclient, which is included in Debian's
#dhcp3-client package.
#
#This is a sample configuration file for dhclient. See dhclient.conf's
#man page for more information about the syntax of this file
#and a more comprehensive list of the parameters understood by
#dhclient.
#
#Normally, if the DHCP server provides reasonable information and does
#not leave anything out (like the domain name, for example), then
#few changes must be made to this file, if any.
#

#send host-name "andare.fugue.com";
#send dhcp-client-identifier 1:0:a0:24:ab:fb:9c;
#send dhcp-lease-time 3600;
#supersede domain-name "fugue.com home.vix.com";
#prepend domain-name-servers 127.0.0.1;
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, host-name,
netbios-name-servers, netbios-scope;
#require subnet-mask, domain-name-servers;
#timeout 60;
#retry 60;
#reboot 10;
#select-timeout 5;
#initial-interval 2;
#script "/etc/dhcp3/dhclient-script";
#media "-link0 -link1 -link2", "link0 link1";
#reject 192.33.137.209;

#alias {
#interface "eth0";
#fixed-address 192.5.5.213;
#option subnet-mask 255.255.255.255;
#}

#lease {
#interface "eth0";
#fixed-address 192.33.137.200;
#medium "link0 link1";
#option host-name "andare.swiftmedia.com";
#option subnet-mask 255.255.255.0;
#option broadcast-address 192.33.137.255;
#option routers 192.33.137.250;
#option domain-name-servers 127.0.0.1;
#renew 2 2000/1/12 00:00:01;
#rebind 2 2000/1/12 00:00:01;
#expire 2 2000/1/12 00:00:01;
#}
Mitglied: 39916
39916 Jan 22, 2008 at 13:51:14 (UTC)
Goto Top
..."range dynamic-bootp 192.168.2.10 192.168.2.16;"

Entferne mal die Worte "dynamic-bootp", starte den DHCP-Server neu und lass dem Windows-Client eine neue IP geben (ipconfig /release; ipconfig /renew).

Mal schauen, was dann passiert.

Oder willst Du bootp einsetzen?
Member: michi1983
michi1983 Jan 22, 2008 at 13:58:49 (UTC)
Goto Top
jetzt weist er mir gar keine ip mehr zu face-sad

//EDIT:

sorry, mein fehler, hab was zuviel gelöscht.

hat nix geändert. komm immer noch nicht raus
Mitglied: 39916
39916 Jan 22, 2008 at 14:03:46 (UTC)
Goto Top
BIst Du sicher, dass Dein DHCP läuft?

ps aux | grep dhcp*
Member: michi1983
michi1983 Jan 22, 2008 at 14:05:25 (UTC)
Goto Top
dhcpd 4515 0.0 0.0 2784 1232 ? Ss 15:00 0:00 /usr/sbin/dhcpd3 -q eth1 -pf /var/run/dhcp3-server/dhcpd.pid -cf /etc/dhcp3/dhcpd.conf
Mitglied: 39916
39916 Jan 22, 2008 at 14:10:57 (UTC)
Goto Top
So viel zum Thema:"Ich helfe mal ganz schnell eben....."

Ein Blick ins syslog bitte. Was sagt denn das beim DHCP?
Werden leases angefordert?
Member: michi1983
michi1983 Jan 22, 2008 at 14:15:22 (UTC)
Goto Top
sodala, das Problem wurde gelöst.

und zwar lag der fehler in der /etc/network/interfaces konfiguration.

ich habe ja 2 NIC

die 1. Nic die die verbindung ins internet herstellt (eth0) ist mit einer statischen, öffentlichen IP versehen.

die 2. Nic ist der dhcp-server. das problem war der Gateway der 2. Nic (eth1)
dieser muss der selbe sein wie der, der 1. Nic.

jetzt funktionierts.

lg allen und danke an bubbafish