Есть 2 сервера, расположенных в разных странах.
А ??.??.27.194
Б ??.??.216.226
А продакшн сервер с настройками
ip tunnel add gre1 mode gre remote ??.??.216.226 local ??.??.27.194 ttl 255
ip addr add 10.0.0.1/30 dev gre1
ip link set gre1 up
Б прокси сервер, используется для переброса трафика на сервер А
ip tunnel add gre1 mode gre remote ??.??.27.194 local ??.??.216.226 ttl 255
ip addr add 10.0.0.2/30 dev gre1
ip link set gre1 up
iptables -F
iptables -t nat -F
iptables -t nat -A PREROUTING -p tcp --dport 4600 -j DNAT --to-destination 10.0.0.1:4600
iptables -t nat -A POSTROUTING -j MASQUERADE
Все работает. Клиент подключается к 4600 пору на по адресу сервера Б ??.??.216.226 и весь трафик перебрасывается на сервер А.
Проблема в том, что мне нужно определять IP клиентов на сервере А, которые шлют трафик через сервер Б, а в логах я получаю только адрес туннеля.
tcpdump
01:23:32.051749 IP 10.0.0.2.52719 > 10.0.0.1.4600: Flags [S], seq 2197925176, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
Мне нужно что-то вроде X-Forwarded-For в HTTP. Какие есть варианты?