Linux маршрутизатор с несколькими внешними интерфейсами
Published on Март 30, 2009 by Support · Комментариев нет
Настройка линукс маршрутизатора через iptables + iproute2 на два (и больше) внешних интерфейса. Предполагается: — то вы уже знакомы с понятием маршрутизации и ната. — теоретически понимаете как работает нат, что такое маршрутизация и файрвол, но не знаете как это реализовать на вашей системе. Имеется: — две входящие сетевые соски от двух разных провайдеров. — локальная сеть — три сетевых интерфейса на маршрутизаторе. Задача: Объеденить всех пользователей в одну локальную сеть и пускать одних пользователей в интернет через одного провайдера, других — через другого. В рассматриваемом примере, все пользователи в локальной сети будут находиться в сети 172.16.0.0/16, при этом пользователей из подсети 172.16.0.0/24 надо пропускать в интернет через первого провайдера, а пользователей 172.16.1.0/24 — через второго. Будем использовать iproute2 для таблиц маршуризации и iptables для ната. Обозначим:
$IP_LOCAL="172.16.0.1" - адрес нашего маршрутизатора в локальной сети. $IP_INET1="1.1.1.2" - адрес нашего маршрутизатора в сети первого провайдера. <a href="http://www.gite-lapradoune-auvergne.fr/new-balance-femme.html">new balance femme</a> <a href="http://www.julierousseau.fr/asics-gel-lyte-iii.html">asics gel lyte iii</a> <a href="http://www.mackrick.co.uk/belstaff-motorcycle-pants.html">belstaff motorcycle pants</a> $IP_INET2="2.2.2.2" - адрес нашего марщрутизатора в сети второго провайдера. $IF_LOCAL="eth0" - имя интерфейса на локальную сеть $IF_INET1="eth1" - имя интерфейса на первого провайдера. $IF_INET2="eth2" - имя интерфейса на второго провайдера. $NET_LOCAL="172.16.0.0/16" - локальная сеть. <a href="http://www.lesboutiqueskalyna.fr/asics-gel-lyte-3.html">asics gel lyte 3</a> $NET_INET1="1.1.1.0/24" - адрес сети в которой гейт нашего первого провайдера. $NET_INET2="2.2.2.0/24" - адрес сети в которой гейт нашего второго провайдера. <a href="http://www.vyatiosys.fr/adidas-superstar-soldes.html">adidas superstar soldes</a> <a href="http://www.masterlo.it/">Adidas Italia Online</a> $NET_SUB1="172.16.0.0/24" - подсеть пользователей на первого провайдера $NET_SUB2="172.16.1.0/24" - подсеть пользователей на второго провайдера $GW1="1.1.1.1" - гейт первого провайдера. $GW2="2.2.2.1" - гейт второго провайдера.
Настраиваем статические адреса на сетевые карты. adidas homme Debian (ubuntu) хранит настройки в файле
пишем:
auto lo iface lo inet loopback #local auto eth0 iface eth0 inet static address 172.16.0.1 netmask 255.255.0.0 network 172.15.0.0 broadcast 172.16.255.255 #inet 1 auto eth1 iface eth1 inet static address 1.1.1.2 netmask 255.255.255.0 gateway 1.1.1.1 network 1.1.1.0 broadcast 1.1.1.255 #inet 2 auto eth2 iface eth2 inet static #если надо - меняем мак адреса # pre-up ifconfig eth2 hw ether aa:bb:cc:cc:bb:aa address 2.2.2.2 netmask 2.2.2.0 # себе я второй гейт не прописываю, в следствии чего сам маршрутизатор ходит в инет через первый инет # gateway 2.2.2.1 network 2.2.2.0 broadcast 2.2.2.255
тем самым мы сказали, что все сетвые у нас имеют статические адреса, и указали их. Настаиваем маршрутизацию с утилитой ip. Утилита route позволяет нам обратиться к таблице маршртизации. nike sb Сила утилиты ip в том, что она позволяет создать большое количество таблиц для самых разных потребностей, а так же, способна считывать флаги, которые расставляет файрвол iptables (об этом ниже) и на их основе тоже делать какие-то действия. Основа маршрутизации через разные таблицы — правила (rule) А сила различных таблиц в том, что мы можем хранить огромное количество различных таблиц маршрутизации, через которые и будем пропускать пакеты. Просмотреть список уже имеющихся таблиц можно командой
ip rule list 0: from all lookup 255 32766: from all lookup main 32767: from all lookup default
Мы видим, что у нас есть три правила: таблица 255, main и default. ugg femme france То, что выдает нам route — хранится в таблице main, что можно увидеть командой
В качестве номеров таблиц можно использовать цифры, ( пример: 0: from all lookup 255 ), а можно прописать на эти цифры какие-то более понятные простым смертным имена ( пример: 32766: from all lookup main ). Так что обозначим свои таблицы: Редактируем файл
и добавляем туда записи вида:
# # reserved values # 255 local 254 main 253 default 0 unspec # # local # #1 inr.ruhep 10 T1 20 T2
номер — это то самое число, которое мы можем использовать если не именовать таблицы, а строковое значение — то, что мы в действительности будем использовать. (кстати, тут же мы видим и уже встречавшиеся нам в списке правил таблицы) Теперь создаем некий скрипт, который в последствии будет все нам прописывать при старте системы. air max 1 Понятное дело, что каждый использует свой любимый редактор =) /etc/init.d/route [cc lang=»bash» tab_size=»2″ lines=»-1″] #!/bin/sh IP_LOCAL=»172.16.0.1″ # адрес нашего маршрутизатора в локальной сети. IP_INET1=»1.1.1.2″ # адрес нашего маршрутизатора в сети первого провайдера. nike air max femme IP_INET2=»2.2.2.2″ # адрес нашего марщрутизатора в сети второго провайдера. IF_LOCAL=»eth0″ # имя интерфейса на локальную сеть IF_INET1=»eth1″ # имя интерфейса на первого провайдера. adidas ultra boost IF_INET2=»eth2″ # имя интерфейса на второго провайдера. NET_LOCAL=»172.16.0.0/16″ # локальная сеть. jordan 5 femme NET_INET1=»1.1.1.0/24″ # адрес сети в которой гейт нашего первого провайдера. Adidas homme NET_INET2=»2.2.2.0/24″ # адрес сети в которой гейт нашего второго провайдера. adidas x GW1=»1.1.1.1″ # гейт первого провайдера. GW2=»2.2.2.1″ # гейт второго провайдера.
Смотрите также: Tags: cache, debian, ifconfig, iptables, linux, nat
Exchange 2007
Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам:
Проведение мониторинга Exchange 2007 с помощью диспетчера System ...
[+]
Введение
В этой статье из нескольких частей я хочу показать вам процесс, который недавно использовал для перехода с существующей среды Exchange 2003 ...
[+]
Если вы пропустили первую часть этой серии, пожалуйста, прочтите ее по ссылке Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (Часть ...
[+]
Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Мониторинг Exchange 2007 с помощью диспетчера System Center Operations ...
[+]
Если вы пропустили предыдущие части этой серии статей, перейдите по ссылкам:
Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 1)
...
[+]
If you missed the previous parts in this article series please read:
Exchange 2007 Install and Configuration from the command line (Part ...
[+]
Инструмент ExRCA
Текущий выпуск инструмента предоставляется только в целях тестирования и оснащен 5 опциями:
Тест подключения Outlook 2007 Autodiscover
Тест подключения Outlook 2003 RPC ...
[+]
Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам:
Развертывание сервера Exchange 2007 Edge Transport (часть 1)
Развертывание ...
[+]
Если вы пропустили первую статью данного цикла, пожалуйста, перейдите по ссылке: Exchange 2007 Install and Configuration from the command line (Part ...
[+]
Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Использование интегрированных сценариев Using Exchange Server 2007 – часть ...
[+]