Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Схематично это они представлены на рисунке.
Схема соединения
Алгоритм решения поставленной задачи состоит в замене неуникальных адресов на уникальные, таким образом можно «обмануть» систему маршрутизации, заставив ее «плясать под нашу дудку».
О том, какими критериями нужно пользоваться при выборе сети, адреса которой мы будем подменять, читайте в конце статьи, пока же для простоты выберем в качестве «подопытной» сеть, подключенную к интерфейсу Eth1.
Задачу конфигурирования системы можно разбить на три, более мелкие:
1. Идентификация и инициализация входящего трафика.
2. Инициализация и маршрутизация ответного трафика.
3. Инициализация и маршрутизация собственного трафика системы.
Под идентификацией трафика подразумевается определение сети источника, а под инициализацией – придание идентифицированным пакетам неких специфических черт, разговор о которых пойдет дальше.
Идентификация и инициализация входящего трафика
Инициализацию будем производить в зависимости от интерфейса, с которого трафик пришел. Неуникальный адрес хоста назначения (нашего компьютера) (в общем случае не уникальна адресация сетевых сегментов, подключенных к компьютеру, но так как из каждого сегмента нашей системе принадлежит только один адрес, будем именно его называть неуникальным, хотя это может быть и не так, т.е. адреса разные, но принадлежат одному сетевому пространству) будем заменять уникальным. Это поможет нам решить и еще одну задачу – задачу маршрутизации обратного трафика, но об этом позже.
Мы выбрали в качестве «подопытной» сеть, подключенную к интерфейсу eth1, поэтому назначаем дополнительный уникальный адрес на этом интерфейсе:
ip address add 192.168.1.10/32 dev eth1
Адрес можно выбирать любой удобный, особой роли он не играет, важно, чтобы он не входил в сети, подключенные к другим сетевым интерфейсам.
Обратите внимание на маску сети, в общем случае она может быть любой, но так как адрес не участвует в реальном сетевом взаимодействии, то лучше ее сделать как в нашем примере.
Далее заменяем адрес хоста назначения в пакетах, приходящих с интерфейса eth1:
iptables –t NAT –A PREROUTING –i eth1 –s 192.168.0.0/24 –j DNAT -–to-destination 192.168.1.10
Инициализация и маршрутизация ответного трафика
Маршрутизацию обратного трафика будем производить «от источника», т.е. в зависимости от адреса отправителя, т.к. он уникальный.
Создадим в системе дополнительную таблицу маршрутизации для каждой сети. Из консоли дайте следующие команды:
echo /etc/iproute2/rt_tables >> 10 TO_ETH0