LINUX.ORG.RU

История изменений

Исправление ktulhu666, (текущая версия) :

Alice не нужны адреса 7.7.7.1 и 7.7.7.2 на интерфейсах. Пусть у неё будут 192.168.2.1 и 192.168.2.2. Маршруты к 7.7.7.1 и 7.7.7.2 прописываются просто на интерфейсы. Единственное, что alice будет слать arp-запросы от адресов 192.168.2.x, и может ISP или Client не будут отвечать на эти запросы. Но можно прописать статические arp-записи или ещё подумать, если такая проблема возникнет.

Про возможность прописать маршрут (т.е. просто выкинуть в интерфейс и не думать о последствиях) на любой ip (даже не из данной подсети) на интерфейс я знаю. Только ни провайдер, ни клиент не имеют маршрутов к 192.168.2.1 и 192.168.2.2 (хотя, может и имеют, но явно не на нужном интерфейсе :) ). Т.е. провайдер видит только 7.7.7.2, а клиент только 7.7.7.1. При учете, что ни там ни там ничего менять нельзя (по условию моей задачи), то как Вы собираетесь заставить отвечать Вам ISP и клиента, мне непонятно. Как делать NAT клиента в этом случае мне тоже не понятно. Разве что Вы будете каким-то хитрым образом (типа ebtables или какого-нибудь raw-модуля) в iptables менять ip-адреса источника у Alice на выходе (в зависимости от интерфейса (к провайдеру или клиенту), я думал над такой схемой, она должно работать, но я не уверен в плане имплементации. Насколько я знаю, сначала происходит смена ip, а только затем уже маршрутизация. В принципе, может и получиться схема, где Alice с eth1(к ISP, 192.168.1.1, маршрут через eth1 7.7.7.1) и eth2(к Client, 192.168.2.1, маршрут через eth2 7.7.7.2) и с iptables SNAT, работающей в зависимости от того, на какой eth* уходит пакет.

А может вобще получится на Alice сделать интерфейсы в бридж и SNAT к нему прикрутить, надо бы попробовать такое самому сделать.

С ebtables, что ли? В случае обычного бриджа клиенту будет отвечать провайдер.

Исходная версия ktulhu666, :

Alice не нужны адреса 7.7.7.1 и 7.7.7.2 на интерфейсах. Пусть у неё будут 192.168.2.1 и 192.168.2.2. Маршруты к 7.7.7.1 и 7.7.7.2 прописываются просто на интерфейсы. Единственное, что alice будет слать arp-запросы от адресов 192.168.2.x, и может ISP или Client не будут отвечать на эти запросы. Но можно прописать статические arp-записи или ещё подумать, если такая проблема возникнет.

Про возможность прописать маршрут (т.е. просто выкинуть в интерфейс и не думать о последствиях) на любой ip (даже не из данной подсети) на интерфейс я знаю. Только ни провайдер, ни клиент не имеют маршрутов к 192.168.2.1 и 192.168.2.2 (хотя, может и имеют, но явно не на нужном интерфейсе :) ). Т.е. провайдер видит только 7.7.7.2, а клиент только 7.7.7.1. При учете, что ни там ни там ничего менять нельзя (по условию моей задачи), то как Вы собираетесь заставить отвечать Вам ISP и клиента, мне непонятно. Как делать NAT клиента в этом случае мне тоже не понятно. Разве что Вы будете каким-то хитрым образом (типа ebtables или какого-нибудь raw-модуля) в iptables менять ip-адреса источника у Alice на выходе (в зависимости от интерфейса (к провайдеру или клиенту), я думал над такой схемой, она должно работать, но я не знаю о таких возможностях в ядре на данный момент.

А может вобще получится на Alice сделать интерфейсы в бридж и SNAT к нему прикрутить, надо бы попробовать такое самому сделать.

С ebtables, что ли? В случае обычного бриджа клиенту будет отвечать провайдер.