Локальное взаимодействие клиент/сервер с использованием интерфейсов TUN

Локальное взаимодействие клиент/сервер с использованием интерфейсов TUN

Я хочу установить локальное соединение между клиентом и сервером с использованием интерфейсов TUN.

  1. Клиентская программа будет подключена к интерфейсу TUN1, и мы предполагаем, что она имеет IP-адрес @IP1.

  2. Серверная программа будет подключена к интерфейсу TUN2, и мы предполагаем, что она имеет IP-адрес @IP2.

  3. Мы должны определить правила маршрутизации таким образом, чтобы пакет с адресом назначения IP2 (IP-адрес сервера) проходил через TUN2, а пакет с адресом назначения IP1 (IP-адрес клиента) проходил через интерфейс TUN1.

Пример правил:

route add -net 10.2.0.0/24 dev tun2  #we suppose that the server's IP is in the subnet 10.2.0.0/24
route add -net 10.1.0.0/24 dev tun1  #the client's IP is in the subnet 10.1.0.0/24

Мне нужно знать цепочку iptables, которую пройдет пакет, отправленный от клиента серверу.

Насколько я понимаю, это должно быть так:

Client==TUN1--->(PREROUTING)--->Routing--->(FORWARD)--->Routing--->(POSTROUTING)--->TUN2==Server

Связанный контент