2 внешних ипа 2 гетвея?
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
- ttys
- *BSD
- Сообщения: 402
- Зарегистрирован: 2009-06-26 8:37:11
- Откуда: Ростов-на-Дону
- Контактная информация:
2 внешних ипа 2 гетвея?
провайдер дал 2 внешних ипа, например:
1ип 1.1.1.10 гетвей 1.1.1.11
2ип 1.1.1.20 гетвей 1.1.1.21
оба ипа висят на одной WAN карте дефаулт гетвей 1.1.1.11
задача пробросить 2ип вовнутрь на внутренний ип 192.168.1.85 так чтобы он пользовал свой внешний гетвей 1.1.1.21
как это сделать?
ЗЫ вопрос в том как настроить редирект так чтобы второй внешний ип юзал свой гетвей?
1ип 1.1.1.10 гетвей 1.1.1.11
2ип 1.1.1.20 гетвей 1.1.1.21
оба ипа висят на одной WAN карте дефаулт гетвей 1.1.1.11
задача пробросить 2ип вовнутрь на внутренний ип 192.168.1.85 так чтобы он пользовал свой внешний гетвей 1.1.1.21
как это сделать?
ЗЫ вопрос в том как настроить редирект так чтобы второй внешний ип юзал свой гетвей?
Последний раз редактировалось f_andrey 2010-05-28 14:56:45, всего редактировалось 1 раз.
Причина: Автору, выбирайте пожалуйста раздел соответствуюший тематике вашего сообщения. оформляйте сообщен е по человечески, приводите полную диагностику, больше логов больше вероятности ответа, а не флуда
Причина: Автору, выбирайте пожалуйста раздел соответствуюший тематике вашего сообщения. оформляйте сообщен е по человечески, приводите полную диагностику, больше логов больше вероятности ответа, а не флуда
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
- ttys
- *BSD
- Сообщения: 402
- Зарегистрирован: 2009-06-26 8:37:11
- Откуда: Ростов-на-Дону
- Контактная информация:
- hizel
- дядя поня
- Сообщения: 9032
- Зарегистрирован: 2007-06-29 10:05:02
- Откуда: Выборг
Re: 2 внешних ипа 2 гетвея?
Код: Выделить всё
man setfib
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.
- CTOPMbI4
- прапорщик
- Сообщения: 482
- Зарегистрирован: 2008-05-02 20:20:47
- Откуда: Made in Russia
Re: 2 внешних ипа 2 гетвея?
Можно подробнее как это реализовать
Это почти неподвижности мука
Мчаться куда то со скоростью звука,
зная преакрасно, что есть уже где то
Некто
Летящий
Со скорости
Света!
Мчаться куда то со скоростью звука,
зная преакрасно, что есть уже где то
Некто
Летящий
Со скорости
Света!
- ttys
- *BSD
- Сообщения: 402
- Зарегистрирован: 2009-06-26 8:37:11
- Откуда: Ростов-на-Дону
- Контактная информация:
Re: 2 внешних ипа 2 гетвея?
правда решил проблему поговорив с провайдером, он расширил диапазон влана, тоесть оба ипа будут в одном влане а не в двух как предпологалось раньше. соответственно и гетвей будет один на все ипы
мне тоже интересноCTOPMbI4 писал(а):Можно подробнее как это реализовать
- hizel
- дядя поня
- Сообщения: 9032
- Зарегистрирован: 2007-06-29 10:05:02
- Откуда: Выборг
Re: 2 внешних ипа 2 гетвея?
у ttys оказался pf и setfib ему не в масть :]
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.
- ttys
- *BSD
- Сообщения: 402
- Зарегистрирован: 2009-06-26 8:37:11
- Откуда: Ростов-на-Дону
- Контактная информация:
Re: 2 внешних ипа 2 гетвея?
а как это на ipfw сделать?hizel писал(а):у ttys оказался pf и setfib ему не в масть :]
ЗЫ я могу и ipfw настроить здесь пример 2х и более фаеров одновременно
- thefree
- лейтенант
- Сообщения: 980
- Зарегистрирован: 2008-12-29 9:23:19
- Откуда: Весёлая Страна
Re: 2 внешних ипа 2 гетвея?
а как же rtablehizel писал(а):у ttys оказался pf и setfib ему не в масть :]
Не судите меня строго, Я не волшебник, а только учусь!
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету
- ttys
- *BSD
- Сообщения: 402
- Зарегистрирован: 2009-06-26 8:37:11
- Откуда: Ростов-на-Дону
- Контактная информация:
Re: 2 внешних ипа 2 гетвея?
2 CTOPMbI4thefree писал(а):а как же rtablehizel писал(а):у ttys оказался pf и setfib ему не в масть :]
Код: Выделить всё
маршрут по умолчанию - анлим (серый ip).
добавил таблицу 1: /sbin/route -T 1 add default ip_второго_провайдера(белый ip)
в pf.conf:
#grey ip
ext_if_g = "rl0" #интерфейс с серым ip
ext_gw_g = "ip_address" #адрес шлюза где серый ip
#white IP
ext_if_w = "tun0" #интерфейс с белым ip
ext_gw_w = "ip_address" #адрес шлюза где белый ip
ext_ip_w = "ip_address" #мой белый ip
#lan
lan_if = "sis0"
nat on $ext_if_w inet from ($lan_if:network) -> ($ext_if_w:0)
nat on $ext_if_g inet from ($lan_if:network) -> ($ext_if_g:0)
table <to_white_ip> persist file "/etc/to_white_ip" #в таблице список ip на которые надо идти через белый ip
pass out route-to ($ext_if_g $ext_gw_g) inet from ($ext_if_g)
pass out route-to ($ext_if_w $ext_gw_w) inet from ($ext_if_w)
pass in on $lan_if inet
pass in quick on $lan_if inet to <to_white_ip> rtable 1 #если идут в инет на ip из таблицы to_white_ip, то заворачиваю их по маршруту из таблицы 1
у меня на этом компе висит mail сервер, поэтому прописываю еще:
pass in on $ext_if_w reply-to ($ext_if_w $ext_gw_w) inet proto tcp to $ext_ip_w port smtp
pass in on $ext_if_w reply-to ($ext_if_w $ext_gw_w) inet proto { tcp udp } to $ext_ip_w port imap
Так вроде работает.
- ttys
- *BSD
- Сообщения: 402
- Зарегистрирован: 2009-06-26 8:37:11
- Откуда: Ростов-на-Дону
- Контактная информация:
Re: 2 внешних ипа 2 гетвея?
как оказалось не сразу понятно что www.obsd.ru это сцылка
вот второй вариант http://www.obsd.ru/8/?q=node/1407
вот второй вариант http://www.obsd.ru/8/?q=node/1407
- ttys
- *BSD
- Сообщения: 402
- Зарегистрирован: 2009-06-26 8:37:11
- Откуда: Ростов-на-Дону
- Контактная информация:
Re: 2 внешних ипа 2 гетвея?
нашёл ещё одну статью про policy routing решение для ipfw и для pf если кому надо взял здесь (wiki.bsdportal.ru)
В данной статье рассматривется тот случай, когда на сервере имеется два сетевых интерфейса через которые, в зависимости от тех или иных обстоятельств, будет идти трафик в интернет.
Сразу оговорюсь что в данный момент времени я использую pf, а примеры с использованием ipfw приведены учитывая прошлый опыт, поэтому могут быть не столь полными. Также я надеюсь что (в случае с ipfw) имеется опыт настройки natd и соответствующих правил. Для pf также приветствуется знание синтаксиса .
В общем случаем конфигурация используется следущая:
Приступим.Код: Выделить всё
rl0 - 10.10.10.254 (ip - шлюз провайдера №1, наш ip 10.10.10.10) rl1 - 20.20.20.254 (ip - шлюз провайдера №2, наш ip 20.20.20.10) rl2 - 30.30.30.30 (ip - адрес в локальной сети)
IPFW
Запускаем nat на интерфейсах:Далее создаем правила для файрвола:Код: Выделить всё
natd -a 10.10.10.10 -p 8668 natd -a 20.20.20.20 -p 8778
Привожу ещё один пример, в котором 1 пользователь ходит в сеть через первый канал и видит локальные ресурсы второго провайдера, а остальные наоборот:Код: Выделить всё
ipfw add divert 8668 ip from 30.30.30.100 to any #в данном случае вместо 30.30.30.100 можно подставить ip тех кого пускать через данный интерфейс #или вместо any написать то, куда люди будут ходить через данный интерфейс ipfw add divert 8778 ip from 30.30.30.0/24 to any #аналогично первому комментарию # #сам policy ipfw add fwd 10.10.10.254 ip from 10.10.10.10 to any ipfw add fwd 20.20.20.254 ip from 20.20.20.10 to any #возвращаем пакеты ipfw add divert 8668 ip from any to 10.10.10.10 ipfw add divert 8778 ip from any to 20.20.20.10
Вот собственно и всё.Код: Выделить всё
ipfw add divert 8778 ip from 30.30.30.100 to 100.100.100.0/24 #100.100.100.0/24 внутренняя сеть провайдера номер 1 ipfw add divert 8668 ip from 30.30.30.100 to any ipfw add divert 8668 ip from 30.30.30.0/24 to 110.110.110.0/24 ##110.110.110.0/24 внутренняя сеть провайдера номер 2 ipfw add divert 8778 ip from 30.30.30.0/24 to any ipfw add fwd 10.10.10.254 ip from 10.10.10.10 to any ipfw add fwd 20.20.20.254 ip from 20.20.20.10 to any ipfw add divert 8668 ip from any to 10.10.10.10 ipfw add divert 8778 ip from any to 20.20.20.10
Дописать pbr для доступа к сервисам с внешних интерфейсов и динамические правила для ipfw
PF
Теперь pf, привожу кусок моего конфига:
(в данном случае возможно придется настроить обычную маршрутизацю, в зависимости от поставленной задачи)Код: Выделить всё
#Внешние и внутренний интерфейсы. # ext_if_a = "rl0" #первый провайдер ext_if_b = "rl1" #второй провайдер int_if = "rl2" #локалка #Шлюзы для каналов. # ext_gw_a = "10.10.10.254" #для tun0 ext_gw_b = "20.20.20.254" #для tun1 net = "30.30.30.0/24" #локалка #TCP/UDP сервисы, обслуживаемые маршрутизатором, то к чему имеется доступ на внешних интерфейсах # tcp_svc = "990" #как пример, что то нужно вписать иначе будет биг ошибка :) udp_svc = "6000" #аналогично #Натим, важный момент, именно тут определяется кого куда пускать #Синтаксис ната, грубо говоря, таков: nat on _интерфейс_ from _откуда_ to _куда_ -> _интерфейс_или_ип_адрес # nat on $ext_if_a from {$net} -> ($ext_if_a:0) nat on $ext_if_b from {$net} -> ($ext_if_b:0) #Разрешаем сети ходить в интернет, всё остальное блокируем # block in on { $ext_if_a $ext_if_b } block return-rst in on { $ext_if_a $ext_if_b } proto tcp pass out on { $ext_if_a $ext_if_b } keep state #Исходящие пакеты в канал, соответствующий адресу источника. Здесь и начинается policy # pass out route-to ($ext_if_a $ext_gw_a) from ($ext_if_a) to !(self:network) \ keep state pass out route-to ($ext_if_b $ext_gw_b) from ($ext_if_b) to !(self:network) \ keep state #А вот policy для входящих пакетов на внешние интерфейсы # pass in on $ext_if_a reply-to ($ext_if_a $ext_gw_a) proto udp \ to port { $udp_svc } keep state pass in on $ext_if_a proto udp from ($ext_if_a:network) to port { $udp_svc } \ keep state # pass in on $ext_if_a reply-to ($ext_if_a $ext_gw_a) proto tcp \ to port { $tcp_svc } flags S/SA keep state pass in on $ext_if_a proto tcp from ($ext_if_a:network) to port { $tcp_svc } \ flags S/SA keep state # pass in on $ext_if_b reply-to ($ext_if_b $ext_gw_b) proto udp \ to port { $udp_svc } keep state pass in on $ext_if_b proto udp from ($ext_if_b:network) to port { $udp_svc } \ keep state # pass in on $ext_if_b reply-to ($ext_if_b $ext_gw_b) proto tcp \ to port { $tcp_svc } flags S/SA keep state pass in on $ext_if_b proto tcp from ($ext_if_b:network) to port { $tcp_svc } \ flags S/SA keep state