Verstaendnisproblem: ISC dhcpd auf v6.2 mit 3 nics

PoJ

Member
Hallo,

ich habe da ein Verstaendnisproblem.

In einer VMWare-Session läuft ein FreeBSD v6.2 mit drei Netzwerkkarten. Dazu verwende ich noch pf als paketfilter. Ich wollte nun für ein Netzwerksegment, einen DHCP-Server aufsetzen. Dafür verwendete ich den aktuellen isc-dhcpd. Installiert und läuft eigentlich, bis auf eine Seltsamkeit. Der dhcpd sollte nur an der Netzwerkkarte lnc1 horchen und antworten. Horchen tut er dort wo er sollte (lnc1), antwoten tut er aber auf einer anderen Netzwerkkarte (lnc2) (jedenfalls sagt dies tcpdump, wenn ich das pflog auswerten lasse).
Momentant bin ich ziemlich ratlos und wäre für jede Idee zu haben.

MfG PoJ


auszug rc.conf; Public-IPs verfälscht
Code:
ifconfig_lnc0="inet 192.168.1.200  netmask 255.255.255.0"
ifconfig_lnc1="inet 192.168.63.254  netmask 255.255.255.0"
ifconfig_lnc2="inet aaa.bbb.ccc.ddd  netmask 255.255.255.248"
hostname="protector.example.loc"
defaultrouter="aaa.bbb.ccc.eee"
static_routes="printnet filnet_bi filnet_zh"
route_printnet="-net 192.168.21.0/24 192.168.1.220"
route_filnet_bi="-net 192.168.65.0/24 192.168.1.252"
route_filnet_zh="-net 192.168.66.0/24 192.168.1.252"
#
# --- Keyboard mapping
#keymap="swissgerman.cp850"
keymap="swissgerman.iso"
#
# --- Deamons
moused_enable="NO"
usbd_enable="NO"
#
# --- Start pf firewall
pf_enable="YES"
pflog_enable="YES"
#
# --- Start routing
gateway_enable=YES
#
# --- Start sshd - Will grant remote login on machine
sshd_enable="YES"
#
# --- Start dhcpd - Will provide a dhcp server
dhcpd_enable="YES"
dhcpd_ifaces="lnc1"

dhcpd.conf
Code:
option domain-name "example.loc";
option domain-name-servers 164.128.36.34;
option subnet-mask 255.255.255.0;

default-lease-time 3600;
max-lease-time 86400;
ddns-update-style none;

subnet 192.168.63.0 netmask 255.255.255.0 {
    range 192.168.63.1 192.168.63.32;
    option routers 192.168.63.254;
}

auszug tcpdump pflog
Code:
Anfrage eines Clienten auf lnc1

4. 334828 rule 93/0(match): pass in on lnc1: 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:04:75:d0:db:b1, length: 300

Antwort des dhcpd auf lnc2 (mit der public-IP; daher geblockt)

4. 872813 rule 1/0(match): block out on lnc2: aaa.bbb.ccc.ddd.67 > 255.255.255.255.68: BOOTP/DHCP, Reply, length: 300
 
(jedenfalls sagt dies tcpdump, wenn ich das pflog auswerten lasse).

Bekommt der Client trotzdem eine IP? DHCP-Anfragen sowie die Antworten werden ja mangels IP gebroadcastet, und ich könnte mir gut vorstellen, dass der dhcpd (bzw. eher der Netzwerksocket des Betriebssystems) diesen Broadcast dann über alle Interfaces schickt.

Gruss Maurice
 
Hallo,
Bekommt der Client trotzdem eine IP?
Nein, bekommt er nicht.
DHCP-Anfragen sowie die Antworten werden ja mangels IP gebroadcastet, und ich könnte mir gut vorstellen, dass der dhcpd (bzw. eher der Netzwerksocket des Betriebssystems) diesen Broadcast dann über alle Interfaces schickt
Das mit dem Broadcast ist noch einigermassen klar. Bloss warum versendet dhcpd bloss auf der lnc2 (also der nic mit der Public-IP) Broadcasts und nicht auf der gewünschten nic lnc1? Weil das tut dhcpd nicht, da ich ansonsten dies in den pflogs feststellen müsste. :confused:

MfG PoJ
 
Achso, das konnt ich aus deinem Post nicht so genau herauslesen.. Nur auf lnc2 die Antwort zu verschicken macht natürlich nicht viel Sinn..
Allerdings weiß ich da auch nicht weiter, ich hab hier momentan dnsmasq auf FreeBSD auch mit 3 NICs am Laufen, und keine Probleme. Vor einer Weile wars auch mal der ISC dhcpd, und da hatte ich ebenfalls keine Probleme. Leider keine Ahnung :-(
 
Zurück
Oben