对不起,如果这听起来有点混乱, 我对networking相当陌生。 我的目标是在一个networking上有两个或更多的子网。 当我添加一个新的服务器到networking(一台虚拟机)时,我希望能够让一个外部应用程序在服务器上运行一个命令,告诉它要打开哪个子网。 要做到这一点,我相信我必须在我的路由器上的dhcpd.conf文件中指定多个子网,每个子网都有自己的私有IP:
ddns-update-style none; default-lease-time 600; max-lease-time 7200; subnet 192.168.0.0 netmask 255.255.255.0 { use-host-decl-names on; option routers 192.168.0.1; option domain-name-servers 10.15.1.40; range 192.168.0.2 192.168.0.250; } subnet 192.168.1.0 netmask 255.255.255.0 { use-host-decl-names on; option routers 192.168.1.1; option domain-name-servers 10.15.1.40; range 192.168.1.2 192.168.1.250; }
我的问题是,如何告诉新服务器需要联系哪个路由器的IP来build立networking? 有一个configuration文件,我可以编辑引导脚本来指定路由器IP? 据我所知,当交换机上只有一个路由器IP时,它会自动获取路由器的私有IP。
服务器是CentOS 5,路由器是Debian。
dhcp服务器如何知道哪些networking是VM的味道,除非你限制的范围只提供给每个特定的MAC地址,主机名…
根据您的虚拟机系统,您可能也可以设置多个虚拟网桥/交换机,并绑定一个单独的DHCP服务器,或单独的一个DHCP服务器接口,每个…
您可以使用DHCP用户类来完成此操作。 configuration您的路由器根据他们的用户类将电脑放入子网:
class "firstNet" { match if option dhcp-user-class = "networkOne"; } class "secondNet" { match if option dhcp-user-class = "networkTwo"; } subnet 192.168.0.0 netmask 255.255.255.0 { pool { ... allow members of "firstNet"; } } subnet 192.168.1.0 netmask 255.255.255.0 { pool { ... allow members of "secondNet"; } }
…然后让客户发送你想要的用户类。 这个特定的configuration将只适用于匹配到两个类中的一个的客户端,因此您可能希望在其中一个或两个子网中包含另一个池,用于尚未configuration为在此模式中工作的系统。
目前还不清楚如何告诉这些服务器在哪里看,但是如果你可以进入机器,在/etc/dhclient-ethX.conf中添加一行:(根据你所在的界面改变X使用)
send user-class "networkOne";