Есть интернет, к которому подключён маршрутизатор на Linux с двумя интерфейсами eth0, eth1. Eth0 смотрит в Интернет и имеет адрес, условно, 1.1.1.1. Eth1 смотрит в локальную сеть, имеет адрес 172.16.77.10, компьютеры в локалке имеют этот адрес в качестве дефолтного и получают с него свой кусочек интернета. В общем, всё стандартно. А теперь самое главное. Имеется аппаратная железка с адресом 1.1.1.1, задача которой сидеть в интернете и выполнять свою чёрную работу. Понятно, что к интернету может быть подключена либо эта железка, либо маршрутизатор. Но не одновременно. На время работы железки приходится ручками выдёргивать маршрутизатор и втыкать эту железку, потом всё возвращать обратно. Адрес железки изменить не получится, проблемы не технические. а политические. Особенность железки в том, что она в интернете работает только с одним адресом, условно 8.8.8.8. Вот и возникла идея, что бы избавиться от ручного передёргивания, воткнуть в маршрутизатор третий интерфейс eth2, не присваивать ему никакого адреса, подключить к нему железку и заставить маршрутизатор перекидывать все пакеты, приходящие с адреса 8.8.8.8 на этот интерфейс, а все пакеты, приходящие с железки на этот интерфейс, заворачивать на 8.8.8.8. Вопрос, какими методами это можно сделать? Хватит ли для этого связки iptables и route? Правильна ли моя идея в принцыпе?
|