[ZBX-7477] DNS reverse validation Created: 2013 Dec 03  Updated: 2017 May 30  Resolved: 2013 Dec 05

Status: Closed
Project: ZABBIX BUGS AND ISSUES
Component/s: Agent (G)
Affects Version/s: 2.2.0
Fix Version/s: None

Type: Incident report Priority: Major
Reporter: Bruno Galindro da Costa Assignee: Unassigned
Resolution: Duplicate Votes: 0
Labels: agent, dns, zabbix_get
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Distributor ID: Ubuntu
Description: Ubuntu 12.04.3 LTS
Release: 12.04
Codename: precise


Issue Links:
Duplicate
duplicates ZBX-3549 Fallback IPv6 to IPv4 Open

 Description   

I got this error on zabbix_get execution:

zabbix_get [25820]: Get value error: cannot connect to [[xxx.xxx.xx]:10050]: [13] Permission denied

I've two address configured to point to my server 192.168.2.71: xxx.xxx.xx and yyy.yyy.yy.

But, yyy.yyy.yy is configured as a reverse of my server 192.168.2.71. So, If I exec zabbix_get on yyy.yyy.yy or 192.168.2.71, it works perfectly.

Then, I sugest to only validate the existance of a reverse, not if it exists and the dns address is the same as requested.



 Comments   
Comment by Bruno Galindro da Costa [ 2013 Dec 03 ]

Or maybe change the error message to something more human readable, like this: "dns reverse validation error"

Comment by Aleksandrs Saveljevs [ 2013 Dec 03 ]

Zabbix does not do any reverse DNS validation...

Could you please elaborate more on the problem and what those "xxx.xxx.xx" and "yyy.yyy.yy" are?

Comment by Bruno Galindro da Costa [ 2013 Dec 03 ]

Ok, sorry if I not clarify the error. What I'm trying to explain is:

1 - I have two DNS A records (foo.domain.com and bar.domain.com) pointing to same IP Address (192.168.2.71)
2 - Only one of then (foo.domain.com) is the reverse of 192.168.2.71
3 - Zabbix is configured to monitor bar.domain.com instead of foo.domain.com

This scenario will cause this error:

zabbix_get [25820]: Get value error: cannot connect to [[bar.domain.com]:10050]: [13] Permission denied

If you configure Zabbix to monitor foo.domain.com or 192.168.2.71, the communication will be established successfully.

Comment by Aleksandrs Saveljevs [ 2013 Dec 04 ]

I have tried the same scenario and the problem does not reproduce itself.

Have you installed Zabbix 2.2.0 from sources or from Ubuntu packages?

Could you please try running zabbix_get under strace? For instance, "strace zabbix_get -s <host> -k <item>"?

Comment by Bruno Galindro da Costa [ 2013 Dec 04 ]

I've installed from official zabbix ubuntu repositories via apt-get

dpkg --list

ii  zabbix-agent                         1:2.2.0-1+precise                   network monitoring solution - agent
ii  zabbix-get                           1:2.2.0-1+precise                   network monitoring solution - get
ii  zabbix-java-gateway                  1:2.2.0-1+precise                   network monitoring solution - java-gateway
ii  zabbix-release                       2.2-1+precise                       Zabbix official repository configuration
ii  zabbix-sender                        1:2.2.0-1+precise                   network monitoring solution - sender
ii  zabbix-server-mysql                  1:2.2.0-1+precise                   network monitoring solution - server (using MySQL)

This is the dns address that isn't reverse of the IP. As you can see, zabbix displays the error.

strace zabbix_get -s imap.mail.ufsc.br -k 'agent.ping'
execve("/usr/bin/zabbix_get", ["zabbix_get", "-s", "imap.mail.ufsc.br", "-k", "agent.ping"], [/* 15 vars */]) = 0
brk(0)                                  = 0x2479000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f4dc9f9c000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=40659, ...}) = 0
mmap(NULL, 40659, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f4dc9f92000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/librt.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340!\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=31752, ...}) = 0
mmap(NULL, 2128984, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f4dc9b74000
mprotect(0x7f4dc9b7b000, 2093056, PROT_NONE) = 0
mmap(0x7f4dc9d7a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x7f4dc9d7a000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\30\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1815224, ...}) = 0
mmap(NULL, 3929304, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f4dc97b4000
mprotect(0x7f4dc9969000, 2097152, PROT_NONE) = 0
mmap(0x7f4dc9b69000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1b5000) = 0x7f4dc9b69000
mmap(0x7f4dc9b6f000, 17624, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f4dc9b6f000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200l\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=135366, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f4dc9f91000
mmap(NULL, 2212904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f4dc9597000
mprotect(0x7f4dc95af000, 2093056, PROT_NONE) = 0
mmap(0x7f4dc97ae000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17000) = 0x7f4dc97ae000
mmap(0x7f4dc97b0000, 13352, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f4dc97b0000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f4dc9f90000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f4dc9f8f000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f4dc9f8e000
arch_prctl(ARCH_SET_FS, 0x7f4dc9f8f700) = 0
mprotect(0x7f4dc9b69000, 16384, PROT_READ) = 0
mprotect(0x7f4dc97ae000, 4096, PROT_READ) = 0
mprotect(0x7f4dc9d7a000, 4096, PROT_READ) = 0
mprotect(0x615000, 4096, PROT_READ)     = 0
mprotect(0x7f4dc9f9e000, 4096, PROT_READ) = 0
munmap(0x7f4dc9f92000, 40659)           = 0
set_tid_address(0x7f4dc9f8f9d0)         = 16683
set_robust_list(0x7f4dc9f8f9e0, 0x18)   = 0
futex(0x7fffc3b2d1cc, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, NULL, 7f4dc9f8f700) = -1 EAGAIN (Resource temporarily unavailable)
rt_sigaction(SIGRTMIN, {0x7f4dc959d750, [], SA_RESTORER|SA_SIGINFO, 0x7f4dc95a6cb0}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x7f4dc959d7e0, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x7f4dc95a6cb0}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
brk(0)                                  = 0x2479000
brk(0x249a000)                          = 0x249a000
rt_sigaction(SIGINT, {0x4049c0, [INT], SA_RESTORER|SA_RESTART, 0x7f4dc97ea4a0}, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGTERM, {0x4049c0, [TERM], SA_RESTORER|SA_RESTART, 0x7f4dc97ea4a0}, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGQUIT, {0x4049c0, [QUIT], SA_RESTORER|SA_RESTART, 0x7f4dc97ea4a0}, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGALRM, {0x4049c0, [ALRM], SA_RESTORER|SA_RESTART, 0x7f4dc97ea4a0}, {SIG_DFL, [], 0}, 8) = 0
socket(PF_FILE, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3
connect(3, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
close(3)                                = 0
socket(PF_FILE, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3
connect(3, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
close(3)                                = 0
open("/etc/nsswitch.conf", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=475, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f4dc9f9b000
read(3, "# /etc/nsswitch.conf\n#\n# Example"..., 4096) = 475
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0x7f4dc9f9b000, 4096)            = 0
open("/etc/host.conf", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=92, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f4dc9f9b000
read(3, "# The \"order\" line is only used "..., 4096) = 92
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0x7f4dc9f9b000, 4096)            = 0
futex(0x7f4dc9b71b40, FUTEX_WAKE_PRIVATE, 2147483647) = 0
open("/etc/resolv.conf", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=199, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f4dc9f9b000
read(3, "# Dynamic resolv.conf(5) file fo"..., 4096) = 199
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0x7f4dc9f9b000, 4096)            = 0
uname({sys="Linux", node="zabbix", ...}) = 0
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=40659, ...}) = 0
mmap(NULL, 40659, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f4dc9f92000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libnss_files.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@!\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=52120, ...}) = 0
mmap(NULL, 2148472, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f4dc938a000
mprotect(0x7f4dc9396000, 2093056, PROT_NONE) = 0
mmap(0x7f4dc9595000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xb000) = 0x7f4dc9595000
close(3)                                = 0
mprotect(0x7f4dc9595000, 4096, PROT_READ) = 0
munmap(0x7f4dc9f92000, 40659)           = 0
open("/etc/hosts", O_RDONLY|O_CLOEXEC)  = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=240, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f4dc9f9b000
read(3, "127.0.0.1\tlocalhost\n127.0.1.1\tza"..., 4096) = 240
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0x7f4dc9f9b000, 4096)            = 0
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=40659, ...}) = 0
mmap(NULL, 40659, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f4dc9f92000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libnss_dns.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\17\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=31104, ...}) = 0
mmap(NULL, 2126064, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f4dc9182000
mprotect(0x7f4dc9189000, 2093056, PROT_NONE) = 0
mmap(0x7f4dc9388000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x7f4dc9388000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libresolv.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\2209\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=105288, ...}) = 0
mmap(NULL, 2210424, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f4dc8f66000
mprotect(0x7f4dc8f7e000, 2097152, PROT_NONE) = 0
mmap(0x7f4dc917e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18000) = 0x7f4dc917e000
mmap(0x7f4dc9180000, 6776, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f4dc9180000
close(3)                                = 0
mprotect(0x7f4dc917e000, 4096, PROT_READ) = 0
mprotect(0x7f4dc9388000, 4096, PROT_READ) = 0
munmap(0x7f4dc9f92000, 40659)           = 0
stat("/etc/resolv.conf", {st_mode=S_IFREG|0644, st_size=199, ...}) = 0
open("/etc/resolv.conf", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=199, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f4dc9f9b000
read(3, "# Dynamic resolv.conf(5) file fo"..., 4096) = 199
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0x7f4dc9f9b000, 4096)            = 0
uname({sys="Linux", node="zabbix", ...}) = 0
socket(PF_INET, SOCK_DGRAM|SOCK_NONBLOCK, IPPROTO_IP) = 3
connect(3, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("150.162.1.33")}, 16) = 0
poll([{fd=3, events=POLLOUT}], 1, 0)    = 1 ([{fd=3, revents=POLLOUT}])
sendto(3, "\363y\1\0\0\1\0\0\0\0\0\0\4imap\4mail\4ufsc\2br\0\0"..., 35, MSG_NOSIGNAL, NULL, 0) = 35
poll([{fd=3, events=POLLIN}], 1, 5000)  = 1 ([{fd=3, revents=POLLIN}])
ioctl(3, FIONREAD, [115])               = 0
recvfrom(3, "\363y\201\200\0\1\0\1\0\1\0\2\4imap\4mail\4ufsc\2br\0\0"..., 1024, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("150.162.1.33")}, [16]) = 115
close(3)                                = 0
stat("/etc/resolv.conf", {st_mode=S_IFREG|0644, st_size=199, ...}) = 0
socket(PF_INET, SOCK_DGRAM|SOCK_NONBLOCK, IPPROTO_IP) = 3
connect(3, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("150.162.1.33")}, 16) = 0
poll([{fd=3, events=POLLOUT}], 1, 0)    = 1 ([{fd=3, revents=POLLOUT}])
sendto(3, "\317\377\1\0\0\1\0\0\0\0\0\0\4imap\4mail\4ufsc\2br\0\0"..., 35, MSG_NOSIGNAL, NULL, 0) = 35
poll([{fd=3, events=POLLIN}], 1, 5000)  = 1 ([{fd=3, revents=POLLIN}])
ioctl(3, FIONREAD, [103])               = 0
recvfrom(3, "\317\377\201\200\0\1\0\1\0\1\0\2\4imap\4mail\4ufsc\2br\0\0"..., 1024, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("150.162.1.33")}, [16]) = 103
close(3)                                = 0
open("/etc/gai.conf", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=3343, ...}) = 0
fstat(3, {st_mode=S_IFREG|0644, st_size=3343, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f4dc9f9b000
read(3, "# Configuration for getaddrinfo("..., 4096) = 3343
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0x7f4dc9f9b000, 4096)            = 0
futex(0x7f4dc9b704a0, FUTEX_WAKE_PRIVATE, 2147483647) = 0
socket(PF_NETLINK, SOCK_RAW, 0)         = 3
bind(3, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 0
getsockname(3, {sa_family=AF_NETLINK, pid=16683, groups=00000000}, [12]) = 0
sendto(3, "\24\0\0\0\26\0\1\3\377\1\237R\0\0\0\0\0\0\0\0", 20, 0, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 20
recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"0\0\0\0\24\0\2\0\377\1\237R+A\0\0\2\10\200\376\1\0\0\0\10\0\1\0\177\0\0\1"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 108
recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"@\0\0\0\24\0\2\0\377\1\237R+A\0\0\n\200\200\376\1\0\0\0\24\0\1\0\0\0\0\0"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 320
recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\24\0\0\0\3\0\2\0\377\1\237R+A\0\0\0\0\0\0\1\0\0\0\24\0\1\0\0\0\0\0"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 20
close(3)                                = 0
socket(PF_INET6, SOCK_DGRAM, IPPROTO_IP) = 3
connect(3, {sa_family=AF_INET6, sin6_port=htons(10050), inet_pton(AF_INET6, "2801:84:0:2:150:162:2:71", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = 0
getsockname(3, {sa_family=AF_INET6, sin6_port=htons(49541), inet_pton(AF_INET6, "2801:84:0:1242:7801:ac8c:abb0:1f18", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, [28]) = 0
connect(3, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0
connect(3, {sa_family=AF_INET, sin_port=htons(10050), sin_addr=inet_addr("150.162.2.71")}, 16) = 0
getsockname(3, {sa_family=AF_INET6, sin6_port=htons(54105), inet_pton(AF_INET6, "::ffff:150.162.242.65", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, [28]) = 0
close(3)                                = 0
socket(PF_INET6, SOCK_STREAM|SOCK_CLOEXEC, IPPROTO_TCP) = 3
fcntl(3, F_SETFD, FD_CLOEXEC)           = 0
alarm(60)                               = 0
connect(3, {sa_family=AF_INET6, sin6_port=htons(10050), inet_pton(AF_INET6, "2801:84:0:2:150:162:2:71", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 EACCES (Permission denied)
alarm(0)                                = 60
close(3)                                = 0
write(2, "zabbix_get [16683]: ", 20zabbix_get [16683]: )    = 20
write(2, "Get value error: cannot connect "..., 86Get value error: cannot connect to [[imap.mail.ufsc.br]:10050]: [13] Permission denied) = 86
write(2, "\n", 1
)                       = 1
exit_group(-1)                          = ?

This is the dns address that is reverse of the IP. As you can see, zabbix works great.

strace zabbix_get -s ldap.mail.ufsc.br -k 'agent.ping'
execve("/usr/bin/zabbix_get", ["zabbix_get", "-s", "lda.mail.ufsc.br", "-k", "agent.ping"], [/* 15 vars */]) = 0
brk(0)                                  = 0x212f000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ffec7738000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=40659, ...}) = 0
mmap(NULL, 40659, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7ffec772e000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/librt.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340!\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=31752, ...}) = 0
mmap(NULL, 2128984, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7ffec7310000
mprotect(0x7ffec7317000, 2093056, PROT_NONE) = 0
mmap(0x7ffec7516000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x7ffec7516000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\30\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1815224, ...}) = 0
mmap(NULL, 3929304, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7ffec6f50000
mprotect(0x7ffec7105000, 2097152, PROT_NONE) = 0
mmap(0x7ffec7305000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1b5000) = 0x7ffec7305000
mmap(0x7ffec730b000, 17624, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7ffec730b000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200l\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=135366, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ffec772d000
mmap(NULL, 2212904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7ffec6d33000
mprotect(0x7ffec6d4b000, 2093056, PROT_NONE) = 0
mmap(0x7ffec6f4a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17000) = 0x7ffec6f4a000
mmap(0x7ffec6f4c000, 13352, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7ffec6f4c000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ffec772c000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ffec772b000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ffec772a000
arch_prctl(ARCH_SET_FS, 0x7ffec772b700) = 0
mprotect(0x7ffec7305000, 16384, PROT_READ) = 0
mprotect(0x7ffec6f4a000, 4096, PROT_READ) = 0
mprotect(0x7ffec7516000, 4096, PROT_READ) = 0
mprotect(0x615000, 4096, PROT_READ)     = 0
mprotect(0x7ffec773a000, 4096, PROT_READ) = 0
munmap(0x7ffec772e000, 40659)           = 0
set_tid_address(0x7ffec772b9d0)         = 16969
set_robust_list(0x7ffec772b9e0, 0x18)   = 0
futex(0x7fff7f5a259c, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, NULL, 7ffec772b700) = -1 EAGAIN (Resource temporarily unavailable)
rt_sigaction(SIGRTMIN, {0x7ffec6d39750, [], SA_RESTORER|SA_SIGINFO, 0x7ffec6d42cb0}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x7ffec6d397e0, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x7ffec6d42cb0}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
brk(0)                                  = 0x212f000
brk(0x2150000)                          = 0x2150000
rt_sigaction(SIGINT, {0x4049c0, [INT], SA_RESTORER|SA_RESTART, 0x7ffec6f864a0}, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGTERM, {0x4049c0, [TERM], SA_RESTORER|SA_RESTART, 0x7ffec6f864a0}, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGQUIT, {0x4049c0, [QUIT], SA_RESTORER|SA_RESTART, 0x7ffec6f864a0}, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGALRM, {0x4049c0, [ALRM], SA_RESTORER|SA_RESTART, 0x7ffec6f864a0}, {SIG_DFL, [], 0}, 8) = 0
socket(PF_FILE, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3
connect(3, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
close(3)                                = 0
socket(PF_FILE, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3
connect(3, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
close(3)                                = 0
open("/etc/nsswitch.conf", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=475, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ffec7737000
read(3, "# /etc/nsswitch.conf\n#\n# Example"..., 4096) = 475
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0x7ffec7737000, 4096)            = 0
open("/etc/host.conf", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=92, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ffec7737000
read(3, "# The \"order\" line is only used "..., 4096) = 92
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0x7ffec7737000, 4096)            = 0
futex(0x7ffec730db40, FUTEX_WAKE_PRIVATE, 2147483647) = 0
open("/etc/resolv.conf", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=199, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ffec7737000
read(3, "# Dynamic resolv.conf(5) file fo"..., 4096) = 199
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0x7ffec7737000, 4096)            = 0
uname({sys="Linux", node="zabbix", ...}) = 0
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=40659, ...}) = 0
mmap(NULL, 40659, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7ffec772e000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libnss_files.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@!\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=52120, ...}) = 0
mmap(NULL, 2148472, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7ffec6b26000
mprotect(0x7ffec6b32000, 2093056, PROT_NONE) = 0
mmap(0x7ffec6d31000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xb000) = 0x7ffec6d31000
close(3)                                = 0
mprotect(0x7ffec6d31000, 4096, PROT_READ) = 0
munmap(0x7ffec772e000, 40659)           = 0
open("/etc/hosts", O_RDONLY|O_CLOEXEC)  = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=240, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ffec7737000
read(3, "127.0.0.1\tlocalhost\n127.0.1.1\tza"..., 4096) = 240
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0x7ffec7737000, 4096)            = 0
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=40659, ...}) = 0
mmap(NULL, 40659, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7ffec772e000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libnss_dns.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\17\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=31104, ...}) = 0
mmap(NULL, 2126064, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7ffec691e000
mprotect(0x7ffec6925000, 2093056, PROT_NONE) = 0
mmap(0x7ffec6b24000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x7ffec6b24000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libresolv.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\2209\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=105288, ...}) = 0
mmap(NULL, 2210424, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7ffec6702000
mprotect(0x7ffec671a000, 2097152, PROT_NONE) = 0
mmap(0x7ffec691a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18000) = 0x7ffec691a000
mmap(0x7ffec691c000, 6776, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7ffec691c000
close(3)                                = 0
mprotect(0x7ffec691a000, 4096, PROT_READ) = 0
mprotect(0x7ffec6b24000, 4096, PROT_READ) = 0
munmap(0x7ffec772e000, 40659)           = 0
stat("/etc/resolv.conf", {st_mode=S_IFREG|0644, st_size=199, ...}) = 0
open("/etc/resolv.conf", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=199, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ffec7737000
read(3, "# Dynamic resolv.conf(5) file fo"..., 4096) = 199
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0x7ffec7737000, 4096)            = 0
uname({sys="Linux", node="zabbix", ...}) = 0
socket(PF_INET, SOCK_DGRAM|SOCK_NONBLOCK, IPPROTO_IP) = 3
connect(3, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("150.162.1.33")}, 16) = 0
poll([{fd=3, events=POLLOUT}], 1, 0)    = 1 ([{fd=3, revents=POLLOUT}])
sendto(3, "\205q\1\0\0\1\0\0\0\0\0\0\3lda\4mail\4ufsc\2br\0\0\34"..., 34, MSG_NOSIGNAL, NULL, 0) = 34
poll([{fd=3, events=POLLIN}], 1, 5000)  = 1 ([{fd=3, revents=POLLIN}])
ioctl(3, FIONREAD, [87])                = 0
recvfrom(3, "\205q\201\200\0\1\0\0\0\1\0\0\3lda\4mail\4ufsc\2br\0\0\34"..., 1024, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("150.162.1.33")}, [16]) = 87
close(3)                                = 0
socket(PF_INET, SOCK_DGRAM|SOCK_NONBLOCK, IPPROTO_IP) = 3
connect(3, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("150.162.1.33")}, 16) = 0
poll([{fd=3, events=POLLOUT}], 1, 0)    = 1 ([{fd=3, revents=POLLOUT}])
sendto(3, "a\303\1\0\0\1\0\0\0\0\0\0\3lda\4mail\4ufsc\2br\0\0\34"..., 34, MSG_NOSIGNAL, NULL, 0) = 34
poll([{fd=3, events=POLLIN}], 1, 5000)  = 1 ([{fd=3, revents=POLLIN}])
ioctl(3, FIONREAD, [87])                = 0
recvfrom(3, "a\303\201\200\0\1\0\0\0\1\0\0\3lda\4mail\4ufsc\2br\0\0\34"..., 1024, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("150.162.1.33")}, [16]) = 87
close(3)                                = 0
stat("/etc/resolv.conf", {st_mode=S_IFREG|0644, st_size=199, ...}) = 0
socket(PF_INET, SOCK_DGRAM|SOCK_NONBLOCK, IPPROTO_IP) = 3
connect(3, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("150.162.1.33")}, 16) = 0
poll([{fd=3, events=POLLOUT}], 1, 0)    = 1 ([{fd=3, revents=POLLOUT}])
sendto(3, "\32\233\1\0\0\1\0\0\0\0\0\0\3lda\4mail\4ufsc\2br\0\0\1"..., 34, MSG_NOSIGNAL, NULL, 0) = 34
poll([{fd=3, events=POLLIN}], 1, 5000)  = 1 ([{fd=3, revents=POLLIN}])
ioctl(3, FIONREAD, [102])               = 0
recvfrom(3, "\32\233\201\200\0\1\0\1\0\1\0\2\3lda\4mail\4ufsc\2br\0\0\1"..., 1024, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("150.162.1.33")}, [16]) = 102
close(3)                                = 0
socket(PF_INET, SOCK_STREAM|SOCK_CLOEXEC, IPPROTO_TCP) = 3
fcntl(3, F_SETFD, FD_CLOEXEC)           = 0
alarm(60)                               = 0
connect(3, {sa_family=AF_INET, sin_port=htons(10050), sin_addr=inet_addr("150.162.2.71")}, 16) = 0
write(3, "ZBXD\1", 5)                   = 5
write(3, "\v\0\0\0\0\0\0\0", 8)         = 8
write(3, "agent.ping\n", 11)            = 11
read(3, "ZBXD\1", 5)                    = 5
read(3, "\1\0\0\0\0\0\0\0", 8)          = 8
read(3, "1", 2047)                      = 1
alarm(0)                                = 60
close(3)                                = 0
fstat(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 1), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ffec7737000
write(1, "1\n", 21
)                      = 2
exit_group(0)                           = ?

ping imap.mail.ufsc.br -c 2
PING imap.mail.ufsc.br (150.162.2.71) 56(84) bytes of data.
64 bytes from lda.mail.ufsc.br (150.162.2.71): icmp_req=1 ttl=63 time=0.171 ms
64 bytes from lda.mail.ufsc.br (150.162.2.71): icmp_req=2 ttl=63 time=0.202 ms

--- imap.mail.ufsc.br ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.171/0.186/0.202/0.020 ms
ping lda.mail.ufsc.br -c 2
PING lda.mail.ufsc.br (150.162.2.71) 56(84) bytes of data.
64 bytes from lda.mail.ufsc.br (150.162.2.71): icmp_req=1 ttl=63 time=0.268 ms
64 bytes from lda.mail.ufsc.br (150.162.2.71): icmp_req=2 ttl=63 time=0.454 ms

--- lda.mail.ufsc.br ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.268/0.361/0.454/0.093 ms
host 150.162.2.71
71.2.162.150.in-addr.arpa domain name pointer lda.mail.ufsc.br.
Comment by Aleksandrs Saveljevs [ 2013 Dec 04 ]

The fact that 150.162.2.71 has a pointer record to lda.mail.ufsc.br is not the only difference between these domains.

The other difference is that "imap" also has an IPv6 record:

$ dig any imap.mail.ufsc.br +short
2801:84:0:2:150:162:2:71
150.162.2.71

$ dig any lda.mail.ufsc.br +short
150.162.2.71

From what I gather from strace, in case of "imap" zabbix_get tries to connect to its IPv6 address and it is not allowed.

Could you please check whether that is a problem? For instance, does "zabbix_get -s 2801:84:0:2:150:162:2:71 -k agent.ping" work?

Comment by Bruno Galindro da Costa [ 2013 Dec 04 ]

Not works too

root@zabbix:~# zabbix_get -s 2801:84:0:2:150:162:2:71 -k agent.ping
zabbix_get [5233]: Get value error: cannot connect to [[2801:84:0:2:150:162:2:71]:10050]: [13] Permission denied

The tcp 10050 port is openned for ipv6 in imap:

root@imap:~# netstat -tlnp |grep 10050
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 21156/zabbix_agentd
tcp6 0 0 :::10050 :::* LISTEN 21156/zabbix_agentd

Comment by Aleksandrs Saveljevs [ 2013 Dec 04 ]

I believe the problem is not on "imap", but on the host running zabbix_get. How about "telnet 2801:84:0:2:150:162:2:71 10050"?

Comment by Bruno Galindro da Costa [ 2013 Dec 04 ]

Yes, you are right.

root@zabbix:~# telnet 2801:84:0:2:150:162:2:71 10050
Trying 2801:84:0:2:150:162:2:71...
telnet: Unable to connect to remote host: Permission denied

I think Zabbix server isn't on the same ipv6 network of imap or isn't has an ipv6 route or there isn't a permissive tcp acl for ipv6 in our router. I think the last one is more probable.

Comment by Aleksandrs Saveljevs [ 2013 Dec 04 ]

So it seems there is nothing to fix on Zabbix side. Thank you for cooperation and quick responses!

Comment by Bruno Galindro da Costa [ 2013 Dec 04 ]

Ok, but Zabbix Server host has IPv4 communication with that host.

root@zabbix:~# ping imap.mail.ufsc.br -c 2
PING imap.mail.ufsc.br (150.162.2.71) 56(84) bytes of data.
64 bytes from lda.mail.ufsc.br (150.162.2.71): icmp_req=1 ttl=63 time=0.219 ms
64 bytes from lda.mail.ufsc.br (150.162.2.71): icmp_req=2 ttl=63 time=0.199 ms

— imap.mail.ufsc.br ping statistics —
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.199/0.209/0.219/0.010 ms

So, in my opinion, Zabbix Server could not ignore this fact even if the IPv6 communication doesn't works. It needs to try to establish the communication with IPv4. If isn't possible with both IPv4 and IPv6, then it will exit with an error.

Comment by Aleksandrs Saveljevs [ 2013 Dec 05 ]

That has already been reported elsewhere and can be solved under ZBX-3549. Closing as duplicate.

Generated at Mon Aug 11 06:42:28 EEST 2025 using Jira 9.12.4#9120004-sha1:625303b708afdb767e17cb2838290c41888e9ff0.