Извините, мои навыки общения не на должном уровне,
У меня есть сценарий, в котором у меня есть 2 разные сети и 2 сервера в этих сетях, сервер A находится в сети A, сервер B в сети B
Когда кто-то пытается подключиться к внешнему серверу (через Интернет), у нас есть виртуальный интерфейс, настроенный между A и B (туннель IPIP)
1) Если я попытаюсь подключиться к внешнему серверу netcat / telnet (x.x.100.3), у меня будет маршрут на serverA, который направляется к моему виртуальному интерфейсу (tunnel1)
2) tunnel1 отправляет пакеты через туннель IPIP своему партнеру "tunnel2"
3) Мне нужно перенаправить любые запросы на x.x.100.3 на другой интерфейс p1p1 с выходом в Интернет.
4) serverB отправляет пакеты на внешний serverC через интерфейс p1p1 (я тестировал запуск tcpdump -i p1p1 и вижу, что пакеты выходят
5) ответ от C возвращается на p1p1
Если я сделаю тот же netcat cmd от B, я подключусь. Но от A у меня тайм-аут.
Итак, мой вопрос: как мне настроить эту настройку, чтобы пользователь, запускающий Netcat на сервере A, получил ответ от сервера C? Прямо сейчас соединение останавливается на сервере B (p1p1), потому что заголовок пакета изменяется после маршрута на B.
Я попытался поиграть с правилами таблицы iproute2, но не могу заставить его работать. Мне в основном нужно использовать сервер B в качестве «прокси» сетевого сервера для любых запросов, идущих на внешний сервер C.
Спасибо!

разобрался с проблемой, у меня не было маршрута шлюза. Это предотвращало обратный поток пакетов.
вот напишите, как настроить туннель IPIP между 2 сетями,
https://sites.google.com/site/mrxpalmeiras/linux/create-ipip-tunnel-between-networks