著者: Hendrik Meyburgh 日付: To: exim-users 題目: [exim] IPv6 in route_data and route_list
Hi.
I am running exim 4.92.3 (Tested on OpenBSD 6.6 and FreeBSD 12.1) and I cannot get the correct setting for route_list or route_data for v6, it keeps on trying to do a DNS lookup, replacing the IPv6 address in the same router with a IPv4 address works. Example output below.
Example with route_data = xxxx:yyyy:0:107:4::583 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Testing echo@??? >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering echo@??? >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> routing echo@???
--------> backscatter router <--------
local_part=echo domain=testing.com
checking "condition" "${if and{{bool_lax{${if def:sender_address {0}{1}}}}{bool_lax{${lookup ldap {USE"...
backscatter router skipped: condition failure
--------> domain_ipv6_only router <--------
local_part=echo domain=testing.com
checking domains
testing.com in "*"? yes (matched "*")
calling domain_ipv6_only router
domain_ipv6_only router called for echo@???
domain = testing.com
original list of hosts = 'xxxx:yyyy:0:107:4::583' options = ''
expanded list of hosts = 'xxxx:yyyy:0:107:4::583' options = ''
set transport domain_smtp_ipv6_transport
finding IP address for xxxx
doing DNS lookup
DNS lookup of xxxx (AAAA) gave HOST_NOT_FOUND
returning DNS_NOMATCH
DNS lookup of xxxx (A) gave HOST_NOT_FOUND
returning DNS_NOMATCH
DNS lookup failed: trying getipnodebyname
gethostbyname2(af=inet6) returned 1 (HOST_NOT_FOUND)
gethostbyname2(af=inet) returned 1 (HOST_NOT_FOUND)
no IP address found for host xxxx
domain_ipv6_only router: defer for echo@???
message: lookup of host "xxxx" failed in domain_ipv6_only router
echo@??? cannot be resolved at this time: lookup of host "xxxx" failed in domain_ipv6_only router
search_tidyup called >>>>>>>>>>>>>>>> Exim pid=26926 (main) terminating with rc=1 >>>>>>>>>>>>>>>>
exmaple with route_list =<; * xxxx:yyyy:0:107:4::583 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Testing echo@??? >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering echo@??? >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> routing echo@???
--------> backscatter router <--------
local_part=echo domain=testing.com
checking "condition" "${if and{{bool_lax{${if def:sender_address {0}{1}}}}{bool_lax{${lookup ldap {USE"...
backscatter router skipped: condition failure
--------> domain_ipv6_only router <--------
local_part=echo domain=testing.com
checking domains
testing.com in "*"? yes (matched "*")
calling domain_ipv6_only router
domain_ipv6_only router called for echo@???
domain = testing.com
route_item = * xxxx:yyyy:0:107:4::583
testing.com in "*"? yes (matched "*")
original list of hosts = 'xxxx:yyyy:0:107:4::583' options = ''
expanded list of hosts = 'xxxx:yyyy:0:107:4::583' options = ''
set transport domain_smtp_ipv6_transport
finding IP address for xxxx
doing DNS lookup
DNS lookup of xxxx (AAAA) gave HOST_NOT_FOUND
returning DNS_NOMATCH
DNS lookup of xxxx (A) gave HOST_NOT_FOUND
returning DNS_NOMATCH
DNS lookup failed: trying getipnodebyname
gethostbyname2(af=inet6) returned 1 (HOST_NOT_FOUND)
gethostbyname2(af=inet) returned 1 (HOST_NOT_FOUND)
no IP address found for host xxxx
domain_ipv6_only router: defer for echo@???
message: lookup of host "xxxx" failed in domain_ipv6_only router
echo@??? cannot be resolved at this time: lookup of host "xxxx" failed in domain_ipv6_only router
search_tidyup called >>>>>>>>>>>>>>>> Exim pid=18473 (main) terminating with rc=1 >>>>>>>>>>>>>>>>
Example with does not seem correct at all: route_data =<; xxxx:yyyy:0:107:4::583 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Testing echo@??? >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering echo@??? >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> routing echo@???
--------> backscatter router <--------
local_part=echo domain=testing.com
checking "condition" "${if and{{bool_lax{${if def:sender_address {0}{1}}}}{bool_lax{${lookup ldap {USE"...
backscatter router skipped: condition failure
--------> domain_ipv6_only router <--------
local_part=echo domain=testing.com
checking domains
testing.com in "*"? yes (matched "*")
calling domain_ipv6_only router
domain_ipv6_only router called for echo@???
domain = testing.com
original list of hosts = '<;' options = 'xxxx:yyyy:0:107:4::583'
expanded list of hosts = '<;' options = 'xxxx:yyyy:0:107:4::583'
LOG: MAIN
Error in domain_ipv6_only router: unknown routing option or transport name "xxxx:yyyy:0:107:4::583"
domain_ipv6_only router: defer for echo@???
message: error in router: unknown routing option or transport name "xxxx:yyyy:0:107:4::583"
echo@??? cannot be resolved at this time: error in router: unknown routing option or transport name "xxxx:yyyy:0:107:4::583"
search_tidyup called >>>>>>>>>>>>>>>> Exim pid=56235 (main) terminating with rc=1 >>>>>>>>>>>>>>>>
I also tried expanding the address, adding additional colons, single- and double quotes, square brackets, but I cannot get it to not intepret it as a hostname/string. Any help will be appreciated please?