Собственно установил туннель между двумя серверами с помощью IPIP
ip tunnel add tunnel1 mode ipip remote 2.2.2.2 local 1.1.1.1 ttl 250
ip link set tunnel1 up
ip addr add 10.0.0.1/30 dev tunnel1
ip route add default via 10.0.0.2 dev tunnel1 tab 0
ip rule add from 10.0.0.1/32 tab 0 prio 5
(Использовал инструкцию)
С сервера 10.0.0.1 - 10.0.0.2 пингуется.
Нужно, чтобы трафик при подключении к серверу 1.1.1.1 на порт 3306 с интерфейса eth0 «перекидывался» на tunnel1, 2.2.2.2 отвечал, и он возвращался обратно с tunnel1 на eth0.
IPtables PREROUTING и POSTROUTING пробовал. Возможно ошибся, вот правила (устанавливал только на 1.1.1.1):
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 3306 -j DNAT --to 10.0.0.2:3306
iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.0/24 -d 10.0.0.2 -j SNAT --to 1.1.1.1
iptables -A FORWARD -s 1.1.1.0/24 -d 10.0.0.2 -i eth0 -o eth0 -p tcp --dport 3306 -j ACCEPT
iptables -t nat -A POSTROUTING -s 1.1.1.0/24 -j MASQUERADE
ip route:
root@ds3309:~# ip route
default via 1.1.1.1 dev eth0
10.0.0.0/30 dev tunnel1 proto kernel scope link src 10.0.0.1
1.1.1.0/24 dev eth0 proto kernel scope link src 1.1.1.1
P.s кто не понял, за 1.1.1.1 скрывается IP адрес первого сервера, а за 2.2.2.2 - второго (на который должен приходить трафик с первого и возвращаться на него же).
Дело достаточно срочное, прошу помочь.
Заранее спасибо.