我可以在 vmware 下的 ubuntu VM 上运行 DHCP 服务器并为主机提供服务吗?

use*_*591 7 networking

我有 Windows 7。我安装了 Vmware Workstation,然后在上面安装了 Ubuntu。

现在我想在 Ubuntu 上有一个 DHCP 服务器,在 Windows 7 上有一个 DHCP 客户端。我该怎么办?我应该如何配置 ubuntu、vmware 和 windows 7?请从一开始就详细解释清楚。

gaj*_*jti 2

也许这不会像您希望的那么清楚,但简而言之就是这样:

  1. VM必须有桥接网卡,这样才能与外界联系。在 VMWare 中,您可以在启动计算机之前进行设置。
  2. (我通常将服务器网卡设置为固定地址)。
  3. 请按照此处的文档设置 dhcp 服务器。或者您可以使用 dnsmasq,这更容易一些。
  4. 如果 ubuntu 一切正常,Windows 7 将自动获取地址。

但我想问一下,为什么要这样的配置呢?


小智 2

  1. 使用网络设置启动虚拟机桥接网卡
  2. 启动ubuntu服务器并安装DHCP服务器

    sudo apt-get install dhcp3-server or isc-dhcp-server
    
    Run Code Online (Sandbox Code Playgroud)
  3. 配置它:

    sudo nano /etc/dhcp/dhcpd.conf
    
    Run Code Online (Sandbox Code Playgroud)

    添加以下行

    subnet 192.168.1.0 
    netmask 255.255.255.0
    
    { range 192.168.1.150 192.168.1.200; 
    option routers 192.168.1.254;
    option domain-name-servers 192.168.1.1, 192.168.1.2;
    default-lease-time 600; max-lease-time 7200;
    }
    
    Run Code Online (Sandbox Code Playgroud)

    然后运行

    sudo service isc-dhcp-server restart
    
    Run Code Online (Sandbox Code Playgroud)

    你完成了

如果您收到无法启动的错误,请继续执行以下步骤:

  1. 重新启动您的以太网卡

    sudo ifdown ethx  
    
    Run Code Online (Sandbox Code Playgroud)

    它关闭您的以太网,x 表示 0,1,2... 用于ifconfig

  2. 现在重新启动您的以太网

    sudo ifup ethx  
    
    Run Code Online (Sandbox Code Playgroud)
  3. 重新启动您的网络管理器

    sudo service network-manager stop
    
    sudo service network-manager start
    
    sudo service isc-dhcp-server restart 
    
    Run Code Online (Sandbox Code Playgroud)

    restart可能会出现错误,因为您的 dhcp 服务器尚未运行,您可以尝试start

  4. 其背后的原因之一是 IPV6,因此禁用它

    sudo nano /etc/sysctl.conf
    
    Run Code Online (Sandbox Code Playgroud)

    将以下行添加到文件中

    # # IPv6    
    net.ipv6.conf.all.disable_ipv6 = 1
    net.ipv6.conf.default.disable_ipv6 = 1
    net.ipv6.conf.lo.disable_ipv6 = 1
    
    Run Code Online (Sandbox Code Playgroud)
  5. 输入以下命令重新启动sysctl设置:

    sudo sysctl -p
    
    Run Code Online (Sandbox Code Playgroud)

重要的提示

禁用路由器的 DHCP,因为 ubuntu 默认使用路由器的 DHCP,或者某些启用 DHCP 的路由器能够禁用 DHCP 服务器计算机。我不知道为什么。

如果你想给你的Linux机器提供静态IP,那么请执行以下操作,但这取决于

编辑interfaces文件:

sudo nano /etc/network/interfaces
Run Code Online (Sandbox Code Playgroud)

例如添加以下行

auto eth0
iface eth0 inet static
        address 192.168.1.100
        netmask 255.255.255.0
        network 192.168.1.0
        broadcast 192.168.1.255
        gateway 192.168.1.1
Run Code Online (Sandbox Code Playgroud)