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

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

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

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

答案1

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

  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
    
  3. 配置它:

    sudo nano /etc/dhcp/dhcpd.conf
    

    添加以下几行

    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;
    }
    

    然后运行

    sudo service isc-dhcp-server restart
    

    你完成了

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

  1. 重新启动以太网卡

    sudo ifdown ethx  
    

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

  2. 现在重新启动以太网

    sudo ifup ethx  
    
  3. 重启网络管理器

    sudo service network-manager stop
    
    sudo service network-manager start
    
    sudo service isc-dhcp-server restart 
    

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

  4. 这背后的一个原因是 IPV6,因此禁用它

    sudo nano /etc/sysctl.conf
    

    将以下行添加到文件

    # # IPv6    
    net.ipv6.conf.all.disable_ipv6 = 1
    net.ipv6.conf.default.disable_ipv6 = 1
    net.ipv6.conf.lo.disable_ipv6 = 1
    
  5. 输入以下命令重新启动sysctl设置:

    sudo sysctl -p
    

重要的提示

禁用路由器的 DHCP,因为 ubuntu 默认使用路由器的 DHCP,或者某些启用了 DHCP 的路由器可以禁用 DHCP 服务器。我不知道为什么。

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

编辑interfaces文件:

sudo nano /etc/network/interfaces

例如添加以下几行

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

相关内容