PDA

Επιστροφή στο Forum : PXE Server Fedora 20 και DHCP σε L3 Cisco



d.stathopoulos
21-12-14, 18:11
Καλησπέρα,

Προσπαθώ να στήσω υποδομή για PXE booting με PXE / HTTP server σε Fedora 20 και DHCP server σε Cisco.
Επιπλέον θέλω ο DHCP Server να κάνει lease συγκεκριμένες IP με βάση την MAC Address.
Ενώ τα έχω στήσει όλα καλά και το μηνάνημα bootάρει από το δίκτυο, όταν πάει να σηκώσει το λειτουργικό προς εγκατάσταση - ξαναζητάει lease από τον DHCP με διαφορετικό clinet ID (ενώ δεν αλλάζει τίποτα) με αποτέλεσμα να μην μπορεί να πάρει IP για να γίνει η εγκατάστση από το Internet.



# DHCP ENTRY in L3 Switch
ip dhcp pool pxeclient-vr-vm
host 192.168.1.66 255.255.255.224
client-identifier 01xx.xxxx.xxxx.xx
next-server 192.168.1.42
client-name dns-vr-vm
default-router 192.168.1.94
domain-name mydmoain.ddns.net
dns-server 192.168.1.117
option 66 ascii pxe.mydomain.ddns.net
option 67 ascii pxe/bios/pxelinux.0
!
# FEDORA 20 - PXE Server Entry
LABEL 3
MENU LABEL Fedora 21 (64-bit)
KERNEL images/fedora/21/x64/vmlinuz
APPEND initrd=images/fedora/21/x64/initrd.img inst.repo=http://download.fedoraproject.org/pub/fedora/linux/releases/21/Server/x86_64/os/ ip=dhcp


Τo debugging στο L3 Cisco έδειξε τα παρακάτω:



Dec 21 10:59:40 192.168.1.126 9842: 009837: *Mar 18 08:17:38.557: DHCPD: Sending notification of DISCOVER:
Dec 21 10:59:40 192.168.1.126 9843: 009838: *Mar 18 08:17:38.557: DHCPD: htype 1 chaddr 5254.00f9.4d9a
Dec 21 10:59:40 192.168.1.126 9844: 009839: *Mar 18 08:17:38.557: DHCPD: interface = Vlan5
Dec 21 10:59:40 192.168.1.126 9845: 009840: *Mar 18 08:17:38.557: DHCPD: class id 505845436c69656e743a417263683a30303030303a554e44493a303032303031
Dec 21 10:59:40 192.168.1.126 9846: 009841: *Mar 18 08:17:38.557: DHCPD: out_vlan_id 0
Dec 21 10:59:40 192.168.1.126 9847: 009842: *Mar 18 08:17:38.557: DHCPD: Sending notification of DISCOVER:
Dec 21 10:59:40 192.168.1.126 9848: 009843: *Mar 18 08:17:38.557: DHCPD: htype 1 chaddr 5254.00f9.4d9a
Dec 21 10:59:40 192.168.1.126 9849: 009844: *Mar 18 08:17:38.557: DHCPD: interface = Vlan5
Dec 21 10:59:40 192.168.1.126 9850: 009845: *Mar 18 08:17:38.557: DHCPD: class id 505845436c69656e743a417263683a30303030303a554e44493a303032303031
Dec 21 10:59:41 192.168.1.126 9851: 009846: *Mar 18 08:17:38.557: DHCPD: out_vlan_id 0
Dec 21 10:59:41 192.168.1.126 9852: 009847: *Mar 18 08:17:38.557: DHCPD: DHCPOFFER notify setup address 192.168.1.66 mask 255.255.255.224
Dec 21 10:59:41 192.168.1.126 9853: 009848: *Mar 18 08:17:39.547: DHCPD: Sending notification of DISCOVER:
Dec 21 10:59:41 192.168.1.126 9854: 009849: *Mar 18 08:17:39.547: DHCPD: htype 1 chaddr 5254.00f9.4d9a
Dec 21 10:59:41 192.168.1.126 9855: 009850: *Mar 18 08:17:39.547: DHCPD: interface = Vlan5
Dec 21 10:59:41 192.168.1.126 9856: 009851: *Mar 18 08:17:39.547: DHCPD: class id 505845436c69656e743a417263683a30303030303a554e44493a303032303031
Dec 21 10:59:41 192.168.1.126 9857: 009852: *Mar 18 08:17:39.547: DHCPD: out_vlan_id 0
Dec 21 10:59:41 192.168.1.126 9858: 009853: *Mar 18 08:17:39.547: DHCPD: Sending notification of DISCOVER:
Dec 21 10:59:41 192.168.1.126 9859: 009854: *Mar 18 08:17:39.547: DHCPD: htype 1 chaddr 5254.00f9.4d9a
Dec 21 10:59:42 192.168.1.126 9860: 009855: *Mar 18 08:17:39.547: DHCPD: interface = Vlan5
Dec 21 10:59:42 192.168.1.126 9861: 009856: *Mar 18 08:17:39.547: DHCPD: class id 505845436c69656e743a417263683a30303030303a554e44493a303032303031
Dec 21 10:59:42 192.168.1.126 9862: 009857: *Mar 18 08:17:39.547: DHCPD: out_vlan_id 0
Dec 21 10:59:42 192.168.1.126 9863: 009858: *Mar 18 08:17:39.547: DHCPD: DHCPOFFER notify setup address 192.168.1.66 mask 255.255.255.224
Dec 21 10:59:44 192.168.1.126 9864: 009859: *Mar 18 08:17:41.627: DHCPD: Sending notification of ASSIGNMENT:
Dec 21 10:59:44 192.168.1.126 9865: 009860: *Mar 18 08:17:41.627: DHCPD: address 192.168.1.66 mask 255.255.255.224
Dec 21 10:59:44 192.168.1.126 9866: 009861: *Mar 18 08:17:41.627: DHCPD: htype 1 chaddr 5254.00f9.4d9a
Dec 21 10:59:44 192.168.1.126 9867: 009862: *Mar 18 08:17:41.627: DHCPD: lease time remaining (secs) = 4294967295
Dec 21 10:59:44 192.168.1.126 9868: 009863: *Mar 18 08:17:41.627: DHCPD: interface = Vlan5
Dec 21 10:59:44 192.168.1.126 9869: 009864: *Mar 18 08:17:41.627: DHCPD: out_vlan_id 0
Dec 21 10:59:59 192.168.1.126 9870: 009865: *Mar 18 08:17:57.457: DHCPD: Sending notification of DISCOVER:
Dec 21 10:59:59 192.168.1.126 9871: 009866: *Mar 18 08:17:57.457: DHCPD: htype 1 chaddr 5254.00f9.4d9a
Dec 21 10:59:59 192.168.1.126 9872: 009867: *Mar 18 08:17:57.457: DHCPD: interface = Vlan5
Dec 21 10:59:59 192.168.1.126 9873: 009868: *Mar 18 08:17:57.457: DHCPD: class id 616e61636f6e64612d4c696e757820332e31372e342d3330312e666332312e7838365f3634207838365f3634
Dec 21 10:59:59 192.168.1.126 9874: 009869: *Mar 18 08:17:57.457: DHCPD: out_vlan_id 0
Dec 21 10:59:59 192.168.1.126 9875: 009870: *Mar 18 08:17:57.457: DHCPD: Sending notification of DISCOVER:
Dec 21 10:59:59 192.168.1.126 9876: 009871: *Mar 18 08:17:57.457: DHCPD: htype 1 chaddr 5254.00f9.4d9a
Dec 21 10:59:59 192.168.1.126 9877: 009872: *Mar 18 08:17:57.457: DHCPD: interface = Vlan5
Dec 21 11:00:00 192.168.1.126 9878: 009873: *Mar 18 08:17:57.457: DHCPD: class id 616e61636f6e64612d4c696e757820332e31372e342d3330312e666332312e7838365f3634207838365f3634
Dec 21 11:00:00 192.168.1.126 9879: 009874: *Mar 18 08:17:57.457: DHCPD: out_vlan_id 0
Dec 21 11:00:00 192.168.1.126 9880: 009875: *Mar 18 08:17:57.457: DHCPD: there is no address pool for 192.168.1.94.
Dec 21 11:00:07 192.168.1.126 9881: 009876: *Mar 18 08:18:04.587: DHCPD: checking for expired leases.
Dec 21 11:00:07 192.168.1.126 9882: 009877: *Mar 18 08:18:04.814: DHCPD: Sending notification of DISCOVER:
Dec 21 11:00:07 192.168.1.126 9883: 009878: *Mar 18 08:18:04.814: DHCPD: htype 1 chaddr 5254.00f9.4d9a
Dec 21 11:00:07 192.168.1.126 9884: 009879: *Mar 18 08:18:04.814: DHCPD: interface = Vlan5
Dec 21 11:00:07 192.168.1.126 9885: 009880: *Mar 18 08:18:04.814: DHCPD: class id 616e61636f6e64612d4c696e757820332e31372e342d3330312e666332312e7838365f3634207838365f3634
Dec 21 11:00:07 192.168.1.126 9886: 009881: *Mar 18 08:18:04.814: DHCPD: out_vlan_id 0
Dec 21 11:00:07 192.168.1.126 9887: 009882: *Mar 18 08:18:04.814: DHCPD: Sending notification of DISCOVER:
Dec 21 11:00:07 192.168.1.126 9888: 009883: *Mar 18 08:18:04.814: DHCPD: htype 1 chaddr 5254.00f9.4d9a
Dec 21 11:00:07 192.168.1.126 9889: 009884: *Mar 18 08:18:04.814: DHCPD: interface = Vlan5
Dec 21 11:00:08 192.168.1.126 9890: 009885: *Mar 18 08:18:04.814: DHCPD: class id 616e61636f6e64612d4c696e757820332e31372e342d3330312e666332312e7838365f3634207838365f3634
Dec 21 11:00:08 192.168.1.126 9891: 009886: *Mar 18 08:18:04.822: DHCPD: out_vlan_id 0
Dec 21 11:00:08 192.168.1.126 9892: 009887: *Mar 18 08:18:04.822: DHCPD: there is no address pool for 192.168.1.94.
Dec 21 11:00:18 192.168.1.126 9893: 009888: *Mar 18 08:18:16.390: DHCPD: Sending notification of DISCOVER:
Dec 21 11:00:18 192.168.1.126 9894: 009889: *Mar 18 08:18:16.390: DHCPD: htype 1 chaddr 5254.00f9.4d9a
Dec 21 11:00:18 192.168.1.126 9895: 009890: *Mar 18 08:18:16.390: DHCPD: interface = Vlan5
Dec 21 11:00:18 192.168.1.126 9896: 009891: *Mar 18 08:18:16.390: DHCPD: class id 616e61636f6e64612d4c696e757820332e31372e342d3330312e666332312e7838365f3634207838365f3634
Dec 21 11:00:18 192.168.1.126 9897: 009892: *Mar 18 08:18:16.390: DHCPD: out_vlan_id 0
Dec 21 11:00:18 192.168.1.126 9898: 009893: *Mar 18 08:18:16.390: DHCPD: Sending notification of DISCOVER:
Dec 21 11:00:18 192.168.1.126 9899: 009894: *Mar 18 08:18:16.390: DHCPD: htype 1 chaddr 5254.00f9.4d9a
Dec 21 11:00:18 192.168.1.126 9900: 009895: *Mar 18 08:18:16.390: DHCPD: interface = Vlan5
Dec 21 11:00:19 192.168.1.126 9901: 009896: *Mar 18 08:18:16.390: DHCPD: class id 616e61636f6e64612d4c696e757820332e31372e342d3330312e666332312e7838365f3634207838365f3634
Dec 21 11:00:19 192.168.1.126 9902: 009897: *Mar 18 08:18:16.390: DHCPD: out_vlan_id 0
Dec 21 11:00:19 192.168.1.126 9903: 009898: *Mar 18 08:18:16.390: DHCPD: there is no address pool for 192.168.1.94.
Dec 21 11:00:27 192.168.1.126 9904: 009899: *Mar 18 08:18:24.846: DHCPD: Sending notification of DISCOVER:
Dec 21 11:00:27 192.168.1.126 9905: 009900: *Mar 18 08:18:24.846: DHCPD: htype 1 chaddr 5254.00f9.4d9a
Dec 21 11:00:27 192.168.1.126 9906: 009901: *Mar 18 08:18:24.846: DHCPD: interface = Vlan5
Dec 21 11:00:27 192.168.1.126 9907: 009902: *Mar 18 08:18:24.846: DHCPD: class id 616e61636f6e64612d4c696e757820332e31372e342d3330312e666332312e7838365f3634207838365f3634
Dec 21 11:00:27 192.168.1.126 9908: 009903: *Mar 18 08:18:24.846: DHCPD: out_vlan_id 0
Dec 21 11:00:27 192.168.1.126 9909: 009904: *Mar 18 08:18:24.846: DHCPD: Sending notification of DISCOVER:
Dec 21 11:00:27 192.168.1.126 9910: 009905: *Mar 18 08:18:24.846: DHCPD: htype 1 chaddr 5254.00f9.4d9a
Dec 21 11:00:27 192.168.1.126 9911: 009906: *Mar 18 08:18:24.846: DHCPD: interface = Vlan5
Dec 21 11:00:28 192.168.1.126 9912: 009907: *Mar 18 08:18:24.846: DHCPD: class id 616e61636f6e64612d4c696e757820332e31372e342d3330312e666332312e7838365f3634207838365f3634
Dec 21 11:00:28 192.168.1.126 9913: 009908: *Mar 18 08:18:24.846: DHCPD: out_vlan_id 0
Dec 21 11:00:28 192.168.1.126 9914: 009909: *Mar 18 08:18:24.846: DHCPD: there is no address pool for 192.168.1.94.


ο client με client ID 505845436c69656e743a417263683a30303030303a554e44493a303032303031 λειτουργεί
ενώ με client ID 616e61636f6e64612d4c696e757820332e31372e342d3330312e666332312e7838365f3634207838365f3634
ΔΕΝ παίρνει IP - καμία ιδέα για το τι αλλάζει το Fedora στο DHCP request - μήπως χρειάζεται κανένα flag για να γίνει disable το IPv6 ;

taxiarxos
22-12-14, 03:25
Για ρίξε μια ματιά στα παρακάτω.

http://www.cisco.com/c/en/us/td/docs/server_nw_virtual/commercial_host_driver/boib_linux/user/guide/boibli32/boot.pdf

http://www.symantec.com/business/support/index?page=content&id=HOWTO8974

http://blog.kolbash.net/2012/08/cisco-ios-dhcp-server-supporting.html

Simpleton
22-12-14, 04:56
Έχεις δοκιμάσει με το hardware-address αντί για το client-identifier;
http://www.cisco.com/c/en/us/td/docs/ios-xml/ios/ipaddr_dhcp/configuration/12-4t/dhcp-12-4t-book/config-dhcp-server.html#GUID-C1DE449D-3B56-4832-AE3F-7F82E94E5510

d.stathopoulos
22-12-14, 11:48
Thanks για τα posts τα URL τα είχα διαβάσει πριν στήσω το setup.
To πιο valid είναι το http://blog.kolbash.net/2012/08/cisc...upporting.html

>Έχεις δοκιμάσει με το hardware-address αντί για το client-identifier;
το έχω δοκιμάσει και δεν λειτουργεί - το hardware-address χρησιμοποιείται στο ΒΟΟTP, το client-identifier πρέπει να χρησιμοποιείται στο DHCP.

Νομίζω βρέθηκε ο ένοχος... τώρα το θέμα είναι πως θα φτιαχτεί...

Ενώ κάνει boot από το δίκτυο το fedora και κάνει DHCP request που κάνει fail , το dracut με βγάζει σε prompt:
κοιτώντας το παρακάτω file:


# cat /etc/dhcpclient.conf
send vendor-class-identifier "anaconda-Linux 3.17.4-301.fc21.x86_64 x86_64"


Πιστεύω ότι λόγω αυτού του file στέλνει λάθος class-id στο DHCP request - το θέμα είναι πως θα το αλλάξω.

d.stathopoulos
26-12-14, 23:33
βρέθηκε η λύση έπρεπε να κάνω customize το initramfs:
Σαν root:


# mkdir custominitrd
# cd !$
Από το working directory pxe:
#cp /tftp/images/Fedora/21/initrd.img .


1) Πρέπει να κάνουμε unpack το initrd.img , για να το κάνουμε πρέπει να βρούμε το archive μέσα στο image:



# yum install -y binwalk
# binwalk initrd.img . -- για να βρούμε το byte που είναι το compressed file
# dd if=`pwd`/initrd.img of=initramfs.xz bs=22528 skip=1 -- bs=22528 είναι το 1o byte του compressed image
# xzcat initramfs.xz | cpio -d -i -m -- κάνουμε extract το sysfs
# rm initramfs.xz ; rm initrd.img


2) Customάρουμε τις παραμέτρους που θέλουμε - εν προκειμένω τον dhcp client:



# vi ./etc/dhclient.conf
Προσθέτουμε την παρακάτω γραμμή:
send dhcp-client-identifier = hardware;


3) Πακετάρουμε το νέο inird.img:



# find . | cpio --create --format='newc' > initrd
# gzip initrd
# mv initrd.gz newinitrd.img
# cp initrd.img /tftp/images/Fedora/21/initrd.img ..


voila ... η Fedora bootarei μια χαρά !!!

@ ADSLgr.com All rights reserved.