Thread: [Firestarter-user] Follow-up on FS with Debian Squeeze's isc-dhcp-server
Brought to you by:
majix
From: Vincent S. <d.s...@cu...> - 2011-01-20 13:47:00
|
# Second try to get this mail thru... if the first one shows up, please drop this message # ---------------------------------------- Hi all ! As I posted earlier, Firestarter on Debian Squeeze works ok except for the DHCP configuration. Thus DHCP doesn't start. Squeeze uses isc-dhcp-server. Squeeze now has dhcpd.conf in/etc/dhcp/ whereas it used to be in /etc/dhcp3/ (under Lenny for example) Firestarter was looking in /etc/dhcp3 for the dhcpd.conf to write to. So, ln -s /etc/dhcp/dhcpd.conf /etc/dhcp3/dhcpd.conf And lo& behold, Firestarter writes rules to dhcpd.conf. however : isc_dhcp-server has an extra config file; to get it setup, do : dpkg-reconfigure isc-dhcp-server This asks you which interface is being used for DHCP leasing. (in my case eth1) Also note that in dhcpd.conf, isc-dhcp-server wants to find the line (up top, first arguement) authoritative; This is to tell that dhcp server is the authority on network (you can have 2 dhcp servers on different subnets, but that's beyond what I'm doing now...) So, up to now, I've got Firestarter writing to dhcpd.conf (but having to put in authoritative; mannualy) and I've told isc-dhcp-server that were doing dhcp on eth1. I shoot up /etc/init.d/isc-dhcp-server restart and dhcpd self-test failed. Please fix the config file. The error was: Internet Systems Consortium DHCP Server 4.1.1-P1 Copyright 2004-2010 Internet Systems Consortium. All rights reserved. For info, please visithttps://www.isc.org/software/dhcp/ /etc/dhcp/dhcpd.conf line 8:< (60): expecting IP address or hostname option domain-name-servers< ^ Configuration file errors encountered -- exiting Errrghhh! Here's what went wrong : in /etc/dhcp/dhcpd.conf, I got this option domain-name-servers<dynamic>;<-- Firestarter telling that& supposedly forwarding DNS IPs I changed it to option domain-name-servers 81.253.149.1, 80.10.246.132; #these are orange.fr dns ips and restarting isp-dhcp_server worked! What bothers me though, is that dhcpd.conf file in /etc/dhcp and /etc/dhcp3 are not quite the same. If I'm guessing correctly, firestarter changed my /etc/dhcp3/ link into a real file (dhcpd.conf) To be clear, here are the 2 files : /etc/dhcp/dhcpd.conf (the file used by isc-dhcp-server - this was BEFORE I fixed the domain-name-servers option - note : I added authoritative on top line of file) # DHCP configuration generated by Firestarter authoritative; ddns-update-style interim; ignore client-updates; subnet 192.168.0.0 netmask 255.255.255.0 { option routers 192.168.0.1; option subnet-mask 255.255.255.0; option domain-name-servers<dynamic>; option ip-forwarding off; range dynamic-bootp 192.168.0.100 192.168.0.254; default-lease-time 21600; max-lease-time 43200; } /etc/dhcp3/dhcpd.conf (the file Firestarter modifies) # DHCP configuration generated by Firestarter ddns-update-style interim; ignore client-updates; subnet 192.168.0.0 netmask 255.255.255.0 { option routers 192.168.0.1; option subnet-mask 255.255.255.0; option domain-name-servers 81.253.149.1, 80.10.246.132; option ip-forwarding off; range dynamic-bootp 192.168.0.100 192.168.0.254; default-lease-time 21600; max-lease-time 43200; } Note that authoritative isn't present, but the dns IPs are correctly stated (not<dynamic>) I'm not sure if authoritative is REALLY that important (read http://www.randombugs.com/linux/linux-isc-dhcp-server-debian-ubuntu.html and thank Randy for the URL) but I put it in the file. I'm sure there's a better/cleaner way of doing all this. I've taken a peek at Firestarter source files (dhcp-server.c) and find lines specific to debian telling firestarter to go to /etc/dhcp3/ instead of /etc/dhcp/(if I've correctly understood). Maybe pointing Firestarter back to/etc/dhcp/ could do the job for Squeeze. Here's the code I'm suspecting (starting line 106 - file : firestarter-1.0.3\src\dhcp-server.c): ----------- configuration = g_strconcat ( "# DHCP configuration generated by Firestarter\n", NULL); /* Debian doesn't suport ddns unless the dhcp3 package is used */ if (dhcp3_in_use || !debian_in_use) { configuration = g_strconcat (configuration, "ddns-update-style interim;\n" \ "ignore client-updates;\n", NULL); } configuration = g_strconcat (configuration, DHCPD_CONF_TEMPLATE, NULL); if (dhcp3_in_use) out = g_io_channel_new_file (DHCP3_CONFIG, "w+",&error); else out = g_io_channel_new_file (DHCPD_CONFIG, "w+",&error); ------------ My questions : (A.) configuration = g_strconcat ( "# DHCP configuration generated by Firestarter\n", NULL); /* HOW to say put in a line break& add the line 'authoritative;' here ? would it be something like "# DHCP configuration generated by Firestarter\n\authoritative;\n" */ (B.) if (dhcp3_in_use) out = g_io_channel_new_file (DHCP3_CONFIG, "w+",&error); /* Would this do the trick (kinda kills the use of code) replace DHCP3_CONFIG by DHCPD_CONFIG ?? */ ------ Anyone good at coding out there? I'm sure that it's a minor fix for someone who unerstands code... I'm a total noob (I'm still at Guesswork& Pot-luck coding stage!). Thanks& hope this will help anyone wanting to migrate to Squeeze, and maybe get Firestarter evolved (excuse the length of my mail, I do ramble on, don't I !) Regards Duane |