марта 28 2010 01:50 дп

Настройка NAT по принципу сеть в сеть при помощи iptables NETMAP

netmap

В этом руководстве я опишу как настроить полный NAT из одной сети в другую, на примере двух офисных сетей. Для настройки данного решения вам понадобится iptables с поддержкой NETMAP и пакет iproute2 для настройки маршрутизации. Я настраивал эту схему на базе Linux ubuntu 8.04 server, iptables v 1.4.7 и iproute2 v ss071016. Кратко опишу, что же такое патч NETMAP для iptables, он позволяет нам делать двухстороннюю трансляцию сетей в другие сети один в один, например транслировать сеть 1.1.1.1/24 в сеть 2.2.2.2/24, и обратно, транслируя айпи адрес 1.1.1.89/32 в айпи 2.2.2.89/32 и тд.

Начнем с разбора схемы сетей на базе которых я настраивал NETMAP NAT, она показана на рисунке ниже, обозначения на котором я буду использовать как примеры.

netmap_scheme

Разберем схему с рисунка:

Есть роутер с Linux, фаерволом и несколькими интерфейсами, он обслуживает офис номер один
Так же есть роутер который обслуживает другую офисную сеть, на чем он сделан значение не имеет

За обоими роутерами у нас есть сеть 10.10.0.0/24

Нам необходимо сделать так, чтобы из офиса номер один, который обслуживает Linux роутер были доступны обе сети 10.10.0.0/24, но так как они имеют пересечения адресов без NETMAP это невозможно, поэтому сеть 10.10.0.0/24 расположенную в офисе номер два мы будем транслировать в сеть 192.168.100.0/24.

Интерфейс на Linux роутере для соединений сетей двух офисов имеет имя eth3 и айпи адрес 192.168.2.2, айпи второго офиса на другом конце 192.168.2.1.

Начнем настройку с маршрутизации.

Создадим отдельную таблицу для корректной маршрутизации пакетов с источником 10.10.0.0/24 пришедших к нам с интерфейса eth3, и назовем ее ROFFICE, сделать это можно внеся изменения в файл /etc/iproute2/rt_tables, ниже приведен пример файла с внесенными изменениями

Код:

#
# reserved values
#
256 ROFFICE
255 local
254 main
253 default
0 unspec
#
# local
#
#1 inr.ruhep

Затем нам надо создать правила для маршрутизации по этой таблице, в iptables мы будем маркировать пакеты для дальнейшего их направления в созданную нами таблицу ROFFICE

Код:

ip ru add from 192.168.21.2 lookup ROFFICE prio 1
ip ru add fwmark 0x2 lookup ROFFICE prio 2

Добавим шлюз по умолчанию и маршруты на нужные сети в таблицу ROFFICE

Код:

ip ro add default via 192.168.21.1 dev eth3 table ROFFICE
ip ro add 192.168.100.0/24 via 192.168.21.1 dev eth3 table ROFFICE
ip ro add 10.10.0.0/24 via 192.168.21.1 dev eth3 table ROFFICE

Теперь перейдем к настройке iptables, необходимо настроить маркировку пакетов, и затем трансляцию сетей при помощи NETMAP

Код:

#Маркируем пакеты направленные от нас на адреса сети для трансляции (192.168.100.0/24) и пакеты пришедшие с интерфейса eth3 меткой 2
iptables -t mangle -A PREROUTING -d 192.168.100.0/24 -j MARK --set-mark 2
iptables -t mangle -A POSTROUTING -o eth3 -j MARK --set-mark 2
# Затем правила трансляции, обратите внимание, адрес назначения подменятся в PREROUTING, а адрес источника подменяется в POSTROUTING
iptables -t nat -A PREROUTING -d 192.168.100.0/24 -j NETMAP --to 10.129.7.0/24
iptables -t nat -A POSTROUTING -s 10.10.0.0/24 -j NETMAP --to 192.168.19.0/24

Теперь можно проверить работу нашей трансляции, например вам надо попасть на веб сервер второго офиса, он имеет айпи адрес 10.10.0.50,находясь в офисе номер один нам надо будет набрать в адресной строке адрес 192.168.100.50

На этом все, задавайте вопросы в комментариях если что либо не ясно.
Надеюсь вам пригодится данный материал.

Popularity: 11%





Комментариев нет »


Trackback URI | Comments RSS

Leave a Reply

You must be logged in to post a comment.


Самые популярные статьи

  • Установка и настройка DNS сервера bind9 Ubuntu-Debian HOWTO
  • Установка Samba сервера на Ubuntu или Debian за 5 минут
  • Установка почтового сервера Postfix + Dovecot + MYSQL и виртуальных доменов
  • Установка и настройка Open VPN сервера на Debian и Ubuntu
  • Настройка маршрутизации в Ubuntu Linux для начинающих
  • Настройка шлюза в локальной сети, лимитирование скорости (shaper), фаервол (iptables).
  • Удаленное подключение к рабочему столу Linux из Windows с помощью Xming и SSH
  • Установка и настройка DHCP сервера
  • Установка и настройка VSFTPD + MYSQL (Ubuntu & Debian)
  • Настройка ограничения и распределения канала (HTB Shaper)
  • Настройка sudo в Debian GNU/Linux и Ubuntu Linux
  • Mail.ru Агент в Linux
  • Установка и настройка L2TP сервера xl2tpd или l2tpd
  • Установка хостинг панели ISPConfig 3 на Ubuntu 9.04
  • Как установить LDAP сервер и его клиентов. (ldap linux debian & ubuntu auth)
  • Сетевые утилиты онлайн - NSLOOKUP
  • Подробное руководство по настройке wifi соединения с шифрованием разных типов
  • Установка apache2.2.x во FreeBSD 7.0
  • IP телефония в Ubuntu или Debian на базе Asterisk за 15 минут
  • Различия в ядрах Ubuntu Server и Ubuntu Desktop
  • Linux в роли WI-FI точки доступа
  • Игры в Linux
  • Установка Ubuntu на RAID-1 диски
  • Настройка рабочего стола Ubuntu, или как догнать и перегнать Windows!
  • Ставим и настраиваем XEN сервер
  • Установка Nginx, PHP5, FastCGI, XCache и MySQL на Ubuntu
  • Открылся русскоязычный Linux торрент трекер
  • HDR обои на рабочий стол 1920×1200
  • Установка Zend Optimizer на Ubuntu 10.04 LTS
  • Сборка Midnight Commander 4.6.3 на Mac OS Leopard

  • « | »

    Рейтинг блогов Rambler's Top100
    службы мониторинга серверов