如何在LXD下使用dnsmasq映射静态IP地址(Linux容器)
时间:2020-01-09 10:41:23 来源:igfitidea点击:
我正在使用LXD(Linux容器)托管基于Apache,MySQL,Perl和PHP的应用程序。
如何将固定IP地址分配或映射到我的MySQL容器。
如何允许dnsmasq DHCP服务器根据名称或MAC地址为LXD容器分配静态IP地址?
您可以为DHCP服务器设置每个主机/容器参数。
可以始终为LXD机器(VM)提供相同的主机名,IP地址和租用时间。
例如,您可以告诉dnsmasq始终为VM msyqldb1提供IP地址192.168.1.100。
如何始终为名为db的LXD VM /计算机分配IP地址10.147.164.3?
您的dnsmasq DHCP服务器可以读取包含每行一台主机的信息的文件。
默认文件名为/var/lib/lxd/networks/lxdbr0/dnsmasq.hosts。
行的格式如下:
{ipaddr},{hostname}
或者
{macadd},{ipaddr},{hostname}
在此文件中存储DHCP主机信息的优点是,当dnsmasq收到SIGHUP时将重新读取该文件时,可以在不重新启动dnsmasq服务器的情况下进行更改。
编辑/var/lib/lxd/networks/lxdbr0/dnsmasq.hosts
文件,执行:
$ sudo vi /var/lib/lxd/networks/lxdbr0/dnsmasq.hosts
示例配置:
# always set IP to 10.147.164.2 for apache1 vm 10.147.164.2,apache1 # always set IP to 10.147.164.3 for db1 vm having mac addr 00:16:ee:62:ff:90 00:16:ee:62:ff:90,10.147.164.3,db1
保存并关闭文件。
使用killall命令将SIGHUP发送到dnsmasq,如下所示:
$ sudo killall -SIGHUP dnsmasq
现在,您可以启动lxd vm或重新启动已经运行的lxd vm:
$ lxc restart db1 $ lxc start db1
验证新的IP地址:
$ lxc list $ lxc info db1