nixp.ru v3.0

24 октября 2017,
вторник,
10:43:04 MSK

DevOps с компанией «Флант»
Аватар пользователя Code Monkey
Code Monkey написал 5 июля 2010 года в 16:31 (642 просмотра) Ведет себя как фрик; открыл 38 тем в форуме, оставил 1478 комментариев на сайте.

Задача:

Есть GSM роутер, надо пробросить _весь_ траффик в обе стороны с ppp0 на другой интерфейс так, чтобы этот роутер был максимально незаметен для внешнего пользователя.

Как это сделать при помощи iptables?

fly4life

Есть два варианта:

 

1) Желаемый, он же «нерабочий», — мост (ака бридж). Настраивается не iptables, а соответствующими утилитами (плюс, для фильтрации транзитного трафика можно использовать ebtables). При такой схеме внешний пользователь не увидит роутер (т.е., ура, достигли желаемого), но не увидит то, что стоит за роутером (т.е. практическое применение становится бессмысленным).

 

2) Рабочий, но с заметным для внешнего пользователя роутером, — NAT. Ну, тут всё ясно, думаю.

 

Первый вариант — это моя собственная фантазия на куцую постановку задачи. Если чуть более подробно описать задачу и показать схему (где Интернет, где коммутационное оборудование, кто и куда должен в итоге попасть), то, возможно, появится и третий вариант — желаемый и при этом рабочий.

Code Monkey

Схема примерно такая:

internet —>(real ip, ppp0) router(eth0 или ppp1 зависит от задачи) —> client

при обращении к внешнему IP должны быть видны все порты клиента, и пигноваться должен клиент. Короче, этакий DMZ.

Бридж не работает, поскольку я так и не смог найти рабочую реализацию BCP для линукса. Она точно есть у mikrotik но, в открытом доступе не видел.

Code Monkey

Разбор идёт в рамках http://www.nixp.ru/forum/Администрирование/ppp-eth-bridge этой задачи