Биллинговая система Nodeny
16 Мая 2024, 13:09:23 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: 1 [2]
  Печать  
Автор Тема: Два шлюза в Internet  (Прочитано 12623 раз)
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4782



Просмотр профиля
« Ответ #15 : 18 Августа 2009, 09:37:59 »

В mysql есть стандартные средства для этого. Читай о репликации
Записан
blackjack
NoDeny
Старожил
*

Карма: 24
Offline Offline

Сообщений: 352


Просмотр профиля Email
« Ответ #16 : 18 Августа 2009, 10:04:53 »

при постоянно меняющемся адресе интерфейса в пф надо взять интерфейс в скобки типа (tun0)
Записан
tramX
NoDeny
Постоялец
*

Карма: 1
Offline Offline

Сообщений: 108


Просмотр профиля Email
« Ответ #17 : 18 Августа 2009, 11:50:19 »

С интерфейсом понятно, я так и сделал
nat on tun0 from 192.168.4.0/24 to any -> (tun0)

В этом топике выше пример
# Внешний интерфейс и шлюз для канала A (WAN_1).#
ext_if_a        = "em0"
ext_gw_a        = "x.x.x.x"
# Внешний интерфейс и шлюз для канала B (WAN_2).#
ext_if_b        = "em2"
ext_gw_b        = "x.x.x.x"
# Внешний интерфейс и шлюз для канала C (WAN_3).#
ext_if_c        = "fxp0"
ext_gw_c        = "x.x.x.x"

Что мне в ext_gw_a        = "x.x.x.x" прописать если IP меняется?
Записан
tramX
NoDeny
Постоялец
*

Карма: 1
Offline Offline

Сообщений: 108


Просмотр профиля Email
« Ответ #18 : 21 Августа 2009, 14:13:10 »

Нет решений если ip шлюза меняется? Может можно вместо IP шлюза указать имя интерфейса?
Записан
imn
Новичок
*

Карма: 0
Offline Offline

Сообщений: 1


Просмотр профиля
« Ответ #19 : 05 Сентября 2009, 16:02:44 »

Код:
cat /etc/pf.conf 
#интерфейсы
int_if="re0"

ext_if1="vr1"
ext_gw1="192.168.1.1"
ext_if2="vr0"
# Таблицы с направлениями
table <Out1>
table <Out2>
#
nat on $ext_if1 from <Out1> to any -> ($ext_if1)
nat on $ext_if2 from <Out2> to any -> ($ext_if2)
pass in on $int_if route-to ($ext_if1 $ext_gw1) from <Out1> to any keep state
# вротой редирект не нужен так-как совподает с дефаулт роутером

pass out all

проверяем sudo pfctl -t Out1 -T add 192.168.0.2

на внешнем интерфейсе молчек, но если
sudo ipfw disable firewall
тогда
внутренний интерфейс
Код:
tcpdump -npi re0 host 192.168.0.2
17:48:39.628221 IP 192.168.0.2.123 > 195.16.42.125.123: NTPv4, Client, length 48
17:48:39.634062 IP 195.16.42.125.123 > 192.168.0.2.123: NTPv4, Server, length 48

внешний интерфейс
Код:
tcpdump -npi vr1
17:48:39.628262 IP 192.168.1.253.57381 > 195.16.42.125.123: NTPv4, Client, length 48
17:48:39.634043 IP 195.16.42.125.123 > 192.168.1.253.57381: NTPv4, Server, length 48

sudo ipfw table all list
Код:
 sudo ipfw table all list
---table(0)---
192.168.0.2/32 0
192.168.0.154/32 0
---table(1)---
192.168.0.2/32 0
192.168.0.154/32 0
---table(2)---
192.168.0.2/32 0
192.168.0.154/32 0
---table(10)---
192.168.0.2/32 1004
192.168.0.154/32 1008
---table(11)---
192.168.0.2/32 1004
192.168.0.154/32 1008
---table(15)---
192.168.0.2/32 0
192.168.0.154/32 0
---table(20)---
192.168.0.2/32 1
192.168.0.154/32 1
---table(21)---
192.168.0.2/32 1
192.168.0.154/32 1

sudo ipfw list
Код:
00050 allow tcp from any to me dst-port 22
00051 allow tcp from me 22 to any
00110 allow ip from any to any via lo0
00120 skipto 1000 ip from me to any
00130 deny icmp from any to any in icmptypes 5,9,13,14,15,16,17
00160 skipto 2000 ip from any to me
00200 skipto 500 ip from any to any via re0
00300 skipto 4500 ip from any to any in
00400 skipto 450 ip from any to any recv re0
00490 allow ip from any to any
00500 skipto 32500 ip from any to any in
00540 allow ip from any to any
01000 allow udp from any 53,7723 to any
01010 allow tcp from any to any setup keep-state
01020 allow udp from any to any keep-state
01100 allow ip from any to any
02000 check-state
02010 allow icmp from any to any
02020 allow tcp from any to any dst-port 80,443
02050 deny ip from any to any via re0
02060 allow udp from any to any dst-port 53,7723
02100 deny ip from any to any
05000 deny ip from not table(0) to any
05001 skipto 5010 ip from table(127) to table(126)
05002 skipto 5030 ip from any to not table(2)
05003 deny ip from any to not table(1)
05004 pipe tablearg ip from table(21) to any
05005 deny ip from any to any
05010 pipe tablearg ip from table(127) to any
05030 deny tcp from table(15) to any dst-port 25
05400 pipe tablearg ip from table(11) to any
32000 deny ip from any to any
32490 deny ip from any to any
33000 pipe tablearg ip from table(126) to table(127)
33001 skipto 33010 ip from not table(2) to any
33002 pipe tablearg ip from any to table(20)
33003 deny ip from any to any
33400 pipe tablearg ip from any to table(10)
65535 deny ip from any to any

почему ipfw режет пакеты?
Записан
smallcms
NoDeny
Старожил
*

Карма: 64
Offline Offline

Сообщений: 279



Просмотр профиля WWW
« Ответ #20 : 23 Октября 2009, 16:13:48 »

Может у кого-то есть готовое решение для двух шлюзов в round-robin в конфигурации биллинга "всё в одном"? Поделитесь, пожалуйста... Спрашиваю, т.г. гугл не помог, а в pf и ipfw не силён.  Непонимающий

P.S.: Дело не с pf.conf, здесь я разобрался. Правило вида:
Код:
[root@gateway /etc]# cat pf.conf 
set limit states 128000
set optimization aggressive

lan_net = "192.168.0.0/16"
int_if  = "xl0"
ext_if1 = "vr0"
ext_if2 = "vr1"
ext_gw1 = "192.168.88.1"
ext_gw2 = "192.168.99.1"

#  nat outgoing connections on each internet interface
nat on $ext_if1 from $lan_net to any -> ($ext_if1)
nat on $ext_if2 from $lan_net to any -> ($ext_if2)

#  default deny
###block in  from any to any
###block out from any to any

#  pass all outgoing packets on internal interface
pass out on $int_if from any to $lan_net
#  pass in quick any packets destined for the gateway itself
pass in quick on $int_if from $lan_net to $int_if
#  load balance outgoing tcp traffic from internal network.
pass in on $int_if route-to \
    { ($ext_if1 $ext_gw1), ($ext_if2 $ext_gw2) } round-robin \
    proto tcp from $lan_net to any flags S/SA modulate state
#  load balance outgoing udp and icmp traffic from internal network
pass in on $int_if route-to \
    { ($ext_if1 $ext_gw1), ($ext_if2 $ext_gw2) } round-robin \
    proto { udp, icmp } from $lan_net to any keep state

#  general "pass out" rules for external interfaces
pass out on $ext_if1 proto tcp from any to any flags S/SA modulate state
pass out on $ext_if1 proto { udp, icmp } from any to any keep state
pass out on $ext_if2 proto tcp from any to any flags S/SA modulate state
pass out on $ext_if2 proto { udp, icmp } from any to any keep state

#  route packets from any IPs on $ext_if1 to $ext_gw1 and the same for
#  $ext_if2 and $ext_gw2
pass out on $ext_if1 route-to ($ext_if2 $ext_gw2) from $ext_if2 to any
pass out on $ext_if2 route-to ($ext_if1 $ext_gw1) from $ext_if1 to any

Абсолютно не понятно как прикрутить к ipfw.  Грустный

P.P.S.: И всё же вроде нашёл ход:
в /etc/rc.firewall
добавил (омечено плюсом):
Код:
ifOut='vr0'
+ifOur='vr1'

${f} add 200 skipto 500 ip from any to any via ${ifOut}
+${f} add 200 skipto 500 ip from any to any via ${ifOur}

${f} add 400 skipto 450 ip from any to any recv ${ifOut}
+${f} add 400 skipto 450 ip from any to any recv ${ifOur}

${f} add 2050 deny ip from any to any via ${ifOut}
+${f} add 2050 deny ip from any to any via ${ifOur}

Да, может и смешно реализовано, но оно же работает. Вроде как...  Смеющийся
« Последнее редактирование: 24 Октября 2009, 05:54:48 от smallcms » Записан

Cell
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1407



Просмотр профиля
« Ответ #21 : 24 Октября 2009, 11:50:30 »

нормально реализованно
Записан
olegotek
NoDeny
Пользователь
*

Карма: 1
Offline Offline

Сообщений: 38


Просмотр профиля
« Ответ #22 : 25 Января 2010, 02:19:04 »

Я делаю жосткие правила такой-то подсети на 1 канал, такой-то на 2-ой. Подскажите, пожалуйста, как решается вопрос с ДНС. Просто дописать еще один сервер в rezolv.conf? Или можно так же конкретно прописать кому какой давать ДНС?
Записан
Cell
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1407



Просмотр профиля
« Ответ #23 : 25 Января 2010, 02:56:54 »

Я делаю жосткие правила такой-то подсети на 1 канал, такой-то на 2-ой. Подскажите, пожалуйста, как решается вопрос с ДНС. Просто дописать еще один сервер в rezolv.conf? Или можно так же конкретно прописать кому какой давать ДНС?
сделай локальный ДНС и будет счастье, нафиг использовать ДНС провайдеров?
Записан
Страниц: 1 [2]
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!