UBUNTU DHCP 未向客户端分配 IP 地址

UBUNTU DHCP 未向客户端分配 IP 地址

我对 ubuntu 了解不多。我正尝试在 UBUNTU 上运行 DHCP 服务器,以便共享 Dongle 3G 互联网。我禁用了路由器的 DHCP,并按照以下指南在 UBUNTU 中设置 DHCP 服务器。

如何安装和配置 DHCP 服务器?

这是我的/etc/default/isc-dhcp-server

# Defaults for isc-dhcp-server initscript
# sourced by /etc/init.d/isc-dhcp-server
# installed at /etc/default/isc-dhcp-server by the maintainer scripts

#
# This is a POSIX shell fragment
#

# Path to dhcpd's config file (default: /etc/dhcp/dhcpd.conf).
#DHCPD_CONF=/etc/dhcp/dhcpd.conf

# Path to dhcpd's PID file (default: /var/run/dhcpd.pid).
#DHCPD_PID=/var/run/dhcpd.pid

# Additional options to start dhcpd with.
#   Don't use options -cf or -pf here; use DHCPD_CONF/ DHCPD_PID instead
#OPTIONS=""

# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
#   Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES="enp2s0"

和我的/etc/dhcp/dhcpd.conf

default-lease-time 600;
max-lease-time 7200;

option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;

subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.33 192.168.1.200;
}

host server {
hardware ethernet 00:1D:92:EA:DB:3C;
fixed-address 192.168.1.33;
}

host tablet {
hardware ethernet 7C:0B:C6:B4:EE:43;
fixed-address 192.168.1.34;
}

我正在为服务器分配静态 IP,以便运行 bind9 DNS 服务器。我的客户端只有在我将它们配置为使用静态 IP 时才能连接,但如果我更改静态 IP 选项,服务器不会为它们分配 IP,UBUNTU 也不会获得 IP 地址。有没有更简单的方法来实现这一点。我急需帮助,因为没有客户端可以访问互联网。

以下是一些可能有用的附加信息:

我的/etc/dhcp/dhclient.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.
#

option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;

#send host-name "andare.fugue.com";
send host-name" /etc/dhcp/dhclient.conf
send host-name UBUNTU-DESKTOP;
#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, domain-search, host-name,
    dhcp6.name-servers, dhcp6.domain-search,
    netbios-name-servers, netbios-scope, interface-mtu,
    rfc3442-classless-static-routes, ntp-servers,
    dhcp6.fqdn, dhcp6.sntp-servers;
#require subnet-mask, domain-name-servers;
timeout 300;
#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;
#}

我记得我曾编辑过/etc/network/interfaces文件。

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

sudo netstat -uap

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
udp        0      0 localhost:54557         *:*                                 694/Plex Media Serv
udp        0      0 MANTHAN-DESKTOP:36172   *:*                                 694/Plex Media Serv
udp        0      0 *:19844                 *:*                                 4017/dhclient   
udp        0      0 MANTHAN-DESKTOP:40486   *:*                                 694/Plex Media Serv
udp        0      0 *:32410                 *:*                                 694/Plex Media Serv
udp        0      0 *:32412                 *:*                                 694/Plex Media Serv
udp        0      0 *:32413                 *:*                                 694/Plex Media Serv
udp        0      0 *:32414                 *:*                                 694/Plex Media Serv
udp        0      0 *:1900                  *:*                                 966/Plex DLNA Serve
udp        0      0 *:1901                  *:*                                 694/Plex Media Serv
udp        0      0 MANTHAN-DESKTOP:domain  *:*                                 2749/dnsmasq    
udp        0      0 *:bootpc                *:*                                 4017/dhclient   
udp        0      0 *:bootpc                *:*                                 3425/dhclient   
udp        0      0 192.168.42.2:netbios-ns *:*                                 900/nmbd        
udp        0      0 MANTHAN-DESK:netbios-ns *:*                                 900/nmbd        
udp        0      0 *:netbios-ns            *:*                                 900/nmbd        
udp        0      0 192.168.42.:netbios-dgm *:*                                 900/nmbd        
udp        0      0 MANTHAN-DES:netbios-dgm *:*                                 900/nmbd        
udp        0      0 *:netbios-dgm           *:*                                 900/nmbd        
udp        0      0 *:43227                 *:*                                 966/Plex DLNA Serve
udp        0      0 MANTHAN-DESKTOP:33368   *:*                                 694/Plex Media Serv
udp        0      0 localhost:49934         *:*                                 694/Plex Media Serv
udp        0      0 *:37737                 *:*                                 966/Plex DLNA Serve
udp        0      0 *:13495                 *:*                                 966/Plex DLNA Serve
udp        0      0 *:42239                 *:*                                 3425/dhclient   
udp6       0      0 [::]:17738              [::]:*                              3425/dhclient   
udp6       0      0 [::]:33559              [::]:*                              4017/dhclient   

注意:- 此系统中安装了 BIND9 DNS 服务器,但我未能正确配置它,但我希望它与此问题无关。

答案1

确保您已在 /var/cache/apt 目录中缓存了最新版本的 network-manager 和 network-manager-gnome 包。

如果不这样做,将会产生非常严重的问题,因为您将无法访问互联网。

怎么做 :http://www.tuxradar.com/answers/517

我执行了最小安装,因此它已保存在我的缓存中。然后使用以下命令删除 network-manager 和 network-manager-gnome。

sudo apt-get purge network-manager network-manager-gnome

然后再次重新安装并重新启动

sudo apt-get install network-manager network-manager-gnome -y && reboot

通过在终端中运行以下命令来找到要在其上运行 DHCP 服务器的网络接口。在我的情况下,它是 enp2s0。它可以是 eth0、eth1 等

ifconfig -a

现在到了主要部分。编辑 /etc/network/interfaces 文件。

sudo gedit /etc/network/interfaces

或者

sudo nano /etc/network/interfaces

粘贴以下内容:

allow-hotplug enp2s0 iface enp2s0 inet static name Lan address 192.168.1.33 netmask 255.255.255.0 network 192.168.1.0

用您的网络接口替换 enp2s0 并进行其他必要的修改。

对于 gedit,只需保存并退出即可。Nano 用户使用 ctrl + o 保存,然后按回车键 (enter) 键。然后按 ctrl + x 退出。

您一定注意到我使用了allow-hotplug而不是 auto。这是因为在 UBUNTU 15.10(其他版本就不说了)启动期间,UBUNTU 会等待所有自动接口启动。因此,UBUNTU 会等待 2 分 3 秒(在我的情况下),然后完成启动过程。因此,为了减少启动时间并避免遇到此问题,我使用了allow-hotplug

最后修改主配置文件如下:

sudo gedit /etc/dhcp/dhcpd.conf

或者

sudo nano /etc/network/interfaces

ddns-update-style none;

authoritative;
log-facility local7;

default-lease-time 600;
max-lease-time 7200;

subnet 192.168.1.0 netmask 255.255.255.0 {
        range 192.168.1.35 192.168.1.100;
        option subnet-mask 255.255.255.0;
        option broadcast-address 192.168.1.255;
        option routers 192.168.1.33;
}

以下是 IP 预留。如果您要这样做,请将其替换7c:0b:c6:**:**:43为您设备的 mac 地址。

host TABLET {
hardware ethernet 7c:0b:c6:**:**:43;
fixed-address 192.168.1.34;
}

同样,对于 gedit,保存并退出。Nano 用户使用 ctrl + o 保存,然后按回车键 (enter) 键。然后按 ctrl + x 退出。

请注意,在此配置中,address 192.168.1.33上述接口文件与 匹配option routers 192.168.1.33。同样network 192.168.1.0,接口与 匹配subnet 192.168.1.0。网络掩码和子网掩码也是如此。

正如 Doug Smythies 上面提到的,由于配置错误,我将 IP 范围设置为 192.168.1.35,因为我保留了 IP 地址 192.168.1.34。在保留列表和 IP 范围中保留相同的 IP 地址会产生问题。

最后一次重新启动不会造成任何损害。

reboot

如果遇到问题,请使用以下方式检查服务状态

service isc-dhcp-server status

因为我是一个没有经验的 UBUNTU 用户,所以我无法说出为什么它解决了这个问题,但它确实解决了,我分享这个答案是为了帮助像我一样没有经验的朋友。

特别感谢 Doug Smythies 对解决方案的关注和努力。请进行必要的更改和修正。

答案2

为了防止潜在的冲突,我不会在为常规 DHCP 地址保留的同一池中声明基于 MAC 的 IP 地址。我建议在您的/etc/dhcp/dhcpd.conf文件中这样做:

subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.33 192.168.1.200;
}

应该是这样的:

subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.40 192.168.1.200;
}

您的文件中声明的选项不够多/etc/dhcp/dhcpd.conf。重要的遗漏是option routers 192.168.1.???;(使用您的路由器 IP 地址)。

相关内容