Вкратце: орфографическая ошибка: это then, а не than.
Более длинная история: синтаксис команды if таков: жирным шрифтом отмечены слова, которые нельзя опустить или заменить ):
, если тестовые команды; затем команды; fi, где вы можете заменить токен ; новым символом строки.
Оболочка интерпретирует than как часть тестовых команд, но затем находит [ f6], который является неправильным (и, да, неожиданным), потому что он никогда не сталкивался с частью then.
dhcpd.conf.template был изменен, чтобы больше не предоставлять параметр «следующий сервер».
dhcpd.conf не указал следующий IP-адрес сервера.
Я не уверен, почему это вызвало dhcpd для сообщения IP-адреса 127.0.1.1 вместо того, чтобы предоставлять IP-адрес. [ ! d2]
Обычно я не касаюсь файлов шаблонов, поэтому он должен был быть результатом обновления. Если я получу шанс, я буду использовать виртуальную машину, чтобы проверить, что причиной является обновление.
Добавление к ответу. Ниже dhcpd.conf.template, который у меня был, который создал dhcpd.conf, у которого не было next-server. Добавив
next-server {{dhcp_subnet['router_ip']}};
после строки 25
option domain-name {{dhcp_subnet['domain_name']}}";
, все снова заработало
# WARNING: Do not edit /var/lib/maas/dhcpd.conf yourself. MAAS will overwrite any
# changes made there.
#
# Instead, edit /etc/maas/templates/dhcp/dhcpd.conf.template and your changes
# will be present whenever MAAS rewrites the DHCP configuration. Update and save
# the cluster's configuration in MAAS to trigger an update to this file.
option arch code 93 = unsigned integer 16; # RFC4578
option path-prefix code 210 = text; #RFC5071
{{bootloader}}
class "PXE" {
match if substring (option vendor-class-identifier, 0, 3) = "PXE";
default-lease-time 30;
max-lease-time 30;
}
{{for dhcp_subnet in dhcp_subnets}}
subnet {{dhcp_subnet['subnet']}} netmask {{dhcp_subnet['subnet_mask']}} {
interface "{{dhcp_subnet['interface']}}";
ignore-client-uids true;
option subnet-mask {{dhcp_subnet['subnet_mask']}};
option broadcast-address {{dhcp_subnet['broadcast_ip']}};
{{if dhcp_subnet.get('dns_servers')}}
option domain-name-servers {{dhcp_subnet['dns_servers']}};
{{endif}}
option domain-name "{{dhcp_subnet['domain_name']}}";
{{if dhcp_subnet['router_ip'] }}
option routers {{dhcp_subnet['router_ip']}};
{{endif}}
{{if dhcp_subnet.get('ntp_server')}}
option ntp-servers {{dhcp_subnet['ntp_server']}};
{{endif}}
range dynamic-bootp {{dhcp_subnet['ip_range_low']}} {{dhcp_subnet['ip_range_high']}};
}
{{endfor}}
omapi-port 7911;
key omapi_key {
algorithm HMAC-MD5;
secret "{{omapi_key}}";
};
omapi-key omapi_key;
dhcpd.conf.template был изменен, чтобы больше не предоставлять параметр «следующий сервер».
dhcpd.conf не указал следующий IP-адрес сервера.
Я не уверен, почему это вызвало dhcpd для сообщения IP-адреса 127.0.1.1 вместо того, чтобы предоставлять IP-адрес. [ ! d2]
Обычно я не касаюсь файлов шаблонов, поэтому он должен был быть результатом обновления. Если я получу шанс, я буду использовать виртуальную машину, чтобы проверить, что причиной является обновление.
Добавление к ответу. Ниже dhcpd.conf.template, который у меня был, который создал dhcpd.conf, у которого не было next-server. Добавив
next-server {{dhcp_subnet['router_ip']}};
после строки 25
option domain-name {{dhcp_subnet['domain_name']}}";
, все снова заработало
# WARNING: Do not edit /var/lib/maas/dhcpd.conf yourself. MAAS will overwrite any
# changes made there.
#
# Instead, edit /etc/maas/templates/dhcp/dhcpd.conf.template and your changes
# will be present whenever MAAS rewrites the DHCP configuration. Update and save
# the cluster's configuration in MAAS to trigger an update to this file.
option arch code 93 = unsigned integer 16; # RFC4578
option path-prefix code 210 = text; #RFC5071
{{bootloader}}
class "PXE" {
match if substring (option vendor-class-identifier, 0, 3) = "PXE";
default-lease-time 30;
max-lease-time 30;
}
{{for dhcp_subnet in dhcp_subnets}}
subnet {{dhcp_subnet['subnet']}} netmask {{dhcp_subnet['subnet_mask']}} {
interface "{{dhcp_subnet['interface']}}";
ignore-client-uids true;
option subnet-mask {{dhcp_subnet['subnet_mask']}};
option broadcast-address {{dhcp_subnet['broadcast_ip']}};
{{if dhcp_subnet.get('dns_servers')}}
option domain-name-servers {{dhcp_subnet['dns_servers']}};
{{endif}}
option domain-name "{{dhcp_subnet['domain_name']}}";
{{if dhcp_subnet['router_ip'] }}
option routers {{dhcp_subnet['router_ip']}};
{{endif}}
{{if dhcp_subnet.get('ntp_server')}}
option ntp-servers {{dhcp_subnet['ntp_server']}};
{{endif}}
range dynamic-bootp {{dhcp_subnet['ip_range_low']}} {{dhcp_subnet['ip_range_high']}};
}
{{endfor}}
omapi-port 7911;
key omapi_key {
algorithm HMAC-MD5;
secret "{{omapi_key}}";
};
omapi-key omapi_key;