Virtuelle IP-Adresse und Firewall

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
punchy
Beiträge: 7
Registriert: 06.08.2004 02:42:24

Virtuelle IP-Adresse und Firewall

Beitrag von punchy » 06.08.2004 04:18:50

Hallo

Ich möchte folgendes tun;
192.168.1.33 soll ein Web-Server sein (eth0)
192.168.1.34 soll dns1 sein (eth0:1)
192.168.1.35 soll dns2 sein (eth0:2)
da ich nun bei der Domain-Registrierung 2 Nameserver angeben muss und nur einen PC mit einer Netzwerkkarte zur Verfügung habe, möchte ich dies über virtuelle IPs realisieren, was soweit auch funktioniert.

Zum Problem;

Wenn ich nun auf der Kiste lynx z.B. http://www.google.ch mache, kann er die Seite nicht öffnen. Der Grund ist, dass er nicht mit der IP-Adresse 192.168.1.33 verbinden will, sondern mit 192.168.1.34 oder 35 ! In /var/log/messages erscheint dann auch die Meldung, dass diese Verbindung von der Firewall geblockt wird.

Wie oder wo kann ich festlegen, dass bei einer Verbindung nach draussen immer die IP 192.168.1.33 benutzt wird? Ohne das ich dafür bei der Firewall für jede IP-Adresse den Port 80 freigeben muss.

Infos zur Konfiguration;

Ich habe Debian Woody installiert und folgendes in /etc/network/interfaces eingetragen;

Code: Alles auswählen

auto eth0
iface eth0 inet static
   address 192.168.1.33
   netmask 255.255.255.0
   gateway 192.168.1.1
auto eth0:1
iface eth0 inet static
   address 192.168.1.34
   netmask 255.255.255.0
   gateway 192.168.1.1
auto eth0:2
iface eth0 inet static
   address 192.168.1.35
   netmask 255.255.255.0
   gateway 192.168.1.1
Nach einem Restart der Netzwerkdienste funktioniert das ganze einwandfrei.

Nun habe ich noch iptables am laufen;

Code: Alles auswählen

#iptables -L -v -n -x

Chain INPUT (policy DROP 0 packets, 0 bytes)
    pkts      bytes target     prot opt in     out     source               destination
    1409   127457 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0          state RELATED,ESTABLISHED
       8      454 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0          state NEW
       0        0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            192.168.1.33       multiport dports 80,443 state NEW
       1       48 eth0_In_RULE_4  tcp  --  eth0   *       0.0.0.0/0            192.168.1.33       tcp dpt:22 state NEW
      18     4390 eth0_In_RULE_5  all  --  eth0   *       0.0.0.0/0            0.0.0.0/0
       0        0 RULE_0     all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain FORWARD (policy DROP 0 packets, 0 bytes)
    pkts      bytes target     prot opt in     out     source               destination
       0        0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0          state RELATED,ESTABLISHED
       0        0 eth0_In_RULE_5  all  --  eth0   *       0.0.0.0/0            0.0.0.0/0
       0        0 eth0_Out_RULE_5  all  --  *      eth0    0.0.0.0/0            0.0.0.0/0
       0        0 RULE_0     all  --  *      *       0.0.0.0/0            0.0.0.0/0

Chain OUTPUT (policy DROP 0 packets, 0 bytes)
    pkts      bytes target     prot opt in     out     source               destination
    1418   206243 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0          state RELATED,ESTABLISHED
       8      454 ACCEPT     all  --  *      lo      0.0.0.0/0            0.0.0.0/0          state NEW
       0        0 ACCEPT     tcp  --  *      eth0    192.168.1.33         0.0.0.0/0          multiport dports 80,443 state NEW
       0        0 ACCEPT     udp  --  *      eth0    192.168.1.33         0.0.0.0/0          udp dpt:53 state NEW
       5      300 eth0_Out_RULE_5  all  --  *      eth0    0.0.0.0/0            0.0.0.0/0
       0        0 RULE_0     all  --  *      *       0.0.0.0/0            0.0.0.0/0
Auch das funktioniert soweit (manche Regeln fehlen oben, sind aber nicht relevant für meine Frage).[/code]

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 06.08.2004 08:12:41

hmm ob die iptables jetzt stimmen kann ich leider nicht sehen, aber

hast du ein Default Gateway eingerichtet?

"route" eingeben und mal schauen:

müsste ungefähr so aussehen:

Code: Alles auswählen

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.X.X.X     *               255.255.255.0   U     0      0        0 eth1
default         my.router       0.0.0.0         UG    0      0        0 eth1
zur not einfach einrichten:

"route add default gw 192.168.1.33"
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

Benutzeravatar
punchy
Beiträge: 7
Registriert: 06.08.2004 02:42:24

Beitrag von punchy » 06.08.2004 17:28:07

Code: Alles auswählen

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.X.X.X     *               255.255.255.0   U     0      0        0 eth1
default         my.router       0.0.0.0         UG    0      0        0 eth1
Tja, man sollte halt am richtigen Ort suchen; Du hattest recht, das Routing war nicht korrekt.

Da ich bei jedem Interface eth0, eth0:1 und eth0:2 einen Gateway definiert hatte, hat er natürlich auch für jedes Interface einen Eintrag in die Routingtabelle gemacht - also drei mal den gleichen Gateway. Und das Interface das an erster Stelle war, hat er dann genommen.

Das hat dann so ausgesehen;

Code: Alles auswählen

:~# ip route
192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.33
default via 192.168.1.1 dev eth0  src 192.168.1.35
default via 192.168.1.1 dev eth0  src 192.168.1.34
default via 192.168.1.1 dev eth0
src beim ersten ist 192.168.1.35 - also wurde auch immer diese Adresse benutzt.

Nachdem ich in der Datei /etc/network/interfaces nur noch bei eth0 einen Gateway definiet habe und die anderen rausgelöscht habe, hat's funktioniert.

Code: Alles auswählen

:~# ip route
192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.33
default via 192.168.1.1 dev eth0
Vielen Dank!

Antworten