Add IPv6 support for dnsmasq
Signed-off-by: Timothy Middelkoop <tmiddelkoop@internet2.edu>
This commit is contained in:
@@ -22,6 +22,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
||||
- Use opencontainers/selinux to manage SELinux in wwclient.
|
||||
- Replace unused/unneeded IPv6net with IpCIDR6 to align with IPv4
|
||||
- Add IPv6 DHCP range
|
||||
- Add IPv6 functionality for dnsmasq
|
||||
|
||||
### Fixed
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ func Test_hostOverlay(t *testing.T) {
|
||||
env.ImportFile("etc/warewulf/nodes.conf", "nodes.conf")
|
||||
env.ImportFile("var/lib/warewulf/overlays/host/rootfs/etc/dhcp/dhcpd.conf.ww", "../rootfs/etc/dhcp/dhcpd.conf.ww")
|
||||
env.ImportFile("var/lib/warewulf/overlays/host/rootfs/etc/dnsmasq.d/ww4-hosts.conf.ww", "../rootfs/etc/dnsmasq.d/ww4-hosts.conf.ww")
|
||||
env.ImportFile("var/lib/warewulf/overlays/host/rootfs/etc/dnsmasq.d/ww4-hosts6.conf.ww", "../rootfs/etc/dnsmasq.d/ww4-hosts6.conf.ww")
|
||||
env.ImportFile("var/lib/warewulf/overlays/host/rootfs/etc/exports.ww", "../rootfs/etc/exports.ww")
|
||||
env.ImportFile("var/lib/warewulf/overlays/host/rootfs/etc/hosts.ww", "../rootfs/etc/hosts.ww")
|
||||
env.ImportFile("var/lib/warewulf/overlays/host/rootfs/etc/profile.d/ssh_setup.csh.ww", "../rootfs/etc/profile.d/ssh_setup.csh.ww")
|
||||
@@ -53,6 +54,13 @@ func Test_hostOverlay(t *testing.T) {
|
||||
log: host_dnsmasq,
|
||||
header: "",
|
||||
},
|
||||
{
|
||||
name: "host:dnsmasq6",
|
||||
conf: "warewulf.conf-ipv6",
|
||||
args: []string{"--render", "host", "host", "etc/dnsmasq.d/ww4-hosts6.conf.ww"},
|
||||
log: host_dnsmasq6,
|
||||
header: "",
|
||||
},
|
||||
{
|
||||
name: "host:/etc/exports",
|
||||
conf: "",
|
||||
@@ -271,6 +279,20 @@ dhcp-host=9a:77:29:73:14:f1,set:warewulf,node1,192.168.3.22,infinite
|
||||
dhcp-host=e6:92:39:49:7b:04,set:warewulf,node2,192.168.3.23,infinite
|
||||
`
|
||||
|
||||
const host_dnsmasq6 string = `backupFile: false
|
||||
writeFile: true
|
||||
Filename: etc/dnsmasq.d/ww4-hosts6.conf
|
||||
# This file was autgenerated by warewulf
|
||||
|
||||
dhcp-range=2001:db8::100,2001:db8::0:1FF,slaac,6h
|
||||
dhcp-option=option6:bootfile-url,tftp://[2001:db8::1]/
|
||||
dhcp-option=option6:ntp-server,[2001:db8::1]
|
||||
|
||||
dhcp-host=e6:92:39:49:7b:03,set:warewulf,node1,2001:db8::111,infinite
|
||||
dhcp-host=9a:77:29:73:14:f1,set:warewulf,node1,2001:db8::112,infinite
|
||||
dhcp-host=e6:92:39:49:7b:04,set:warewulf,node2,2001:db8::121,infinite
|
||||
`
|
||||
|
||||
const host_exports string = `backupFile: true
|
||||
writeFile: true
|
||||
Filename: etc/exports
|
||||
|
||||
@@ -5,13 +5,16 @@ nodes:
|
||||
device: wwnet0
|
||||
hwaddr: e6:92:39:49:7b:03
|
||||
ipaddr: 192.168.3.21
|
||||
ip6addr: 2001:db8::111
|
||||
secondary:
|
||||
device: wwnet1
|
||||
hwaddr: 9a:77:29:73:14:f1
|
||||
ipaddr: 192.168.3.22
|
||||
ip6addr: 2001:db8::112
|
||||
node2:
|
||||
network devices:
|
||||
default:
|
||||
device: wwnet0
|
||||
hwaddr: e6:92:39:49:7b:04
|
||||
ipaddr: 192.168.3.23
|
||||
ip6addr: 2001:db8::121
|
||||
|
||||
5
overlays/host/internal/warewulf.conf-ipv6
Normal file
5
overlays/host/internal/warewulf.conf-ipv6
Normal file
@@ -0,0 +1,5 @@
|
||||
ipaddr6: 2001:db8::1/64
|
||||
dhcp:
|
||||
enabled: true
|
||||
range6 start: 2001:db8::100
|
||||
range6 end: 2001:db8::0:1FF
|
||||
13
overlays/host/rootfs/etc/dnsmasq.d/ww4-hosts6.conf.ww
Normal file
13
overlays/host/rootfs/etc/dnsmasq.d/ww4-hosts6.conf.ww
Normal file
@@ -0,0 +1,13 @@
|
||||
# This file was autgenerated by warewulf
|
||||
{{ nobackup }}
|
||||
dhcp-range={{$.Dhcp.Range6Start}},{{$.Dhcp.Range6End}},slaac,6h
|
||||
dhcp-option=option6:bootfile-url,tftp://[{{$.Ipaddr6}}]/
|
||||
dhcp-option=option6:ntp-server,[{{$.Ipaddr6}}]
|
||||
|
||||
{{ range $node := $.AllNodes -}}
|
||||
{{ range $devname, $netdev := $node.NetDevs -}}
|
||||
{{ if and $netdev.Ipaddr6 $netdev.Hwaddr -}}
|
||||
dhcp-host={{$netdev.Hwaddr}},set:warewulf,{{$node.Id}},{{$netdev.Ipaddr6}},infinite
|
||||
{{ end -}}
|
||||
{{ end -}}
|
||||
{{ end -}}
|
||||
Reference in New Issue
Block a user