Все привет.
haproxy не хочет работать с опцией source. На другом сервере, аналогичная настройка и всё работает.
haproxy.cfg:
frontend FR
mode tcp
bind *:5046 transparent
default_backend BA
backend BA
mode tcp
source 0.0.0.0 usesrc clientip
server BA0 192.168.16.95:5060
И наблюдаю лишь tcpdump на сервере 192.168.16.95 пустой.
Ловлю стрэйсом haproxy:
socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 8
fcntl64(8, F_SETFL, O_RDONLY|O_NONBLOCK) = 0
setsockopt(8, SOL_TCP, TCP_NODELAY, [1], 4) = 0
setsockopt(8, SOL_IP, 0x13 /* IP_??? */, [1], 4) = -1 ENOPROTOOPT (Protocol not available)
setsockopt(8, SOL_IP, 0xf /* IP_??? */, [1], 4) = 0
setsockopt(8, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
bind(8, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("192.168.1.1")}, 16) = 0
connect(8, {sa_family=AF_INET, sin_port=htons(5060), sin_addr=inet_addr("192.168.16.95")}, 16) = -1 EINVAL (Invalid argument)
close(8) = 0
shutdown(7, 1 /* send */) = 0
close(7)
Смущяет меня:
connect(8, {sa_family=AF_INET, sin_port=htons(5060), sin_addr=inet_addr("192.168.16.95")}, 16) = -1 EINVAL (Invalid argument)
Что бы это могло значить?
2.6.18-308.8.2.el5
Похоже дело в TPROXY, Minimum Requirements Linux Kernel 2.6.37