Страница 1 из 1

IPFW + PF NAT, как сменить шлюз по умолчанию?

Добавлено: 2009-09-01 9:24:28
alekshr
Здравствуйте, постараюся обяснить подробнее. Сейчас все работает и шейпится. Фаервол IPFW, нат - PF NAT. Но возникла необходимость пускать некоторых клиентов по второму провайдеру.

Внешние интерфейсы:
re0 (IP сервера 172.16.12.11/255.255.255.248) - шлюз провайдера 172.16.12.12
vge0 (IP сервера 10.46.16.200/255.255.252.0) - шлюз провайдера 10.46.16.1

Внутренний:
vge1 192.168.13.1/24

Настройки pf.conf:

Код: Выделить всё

nat pass on re0 from 192.168.13.0/24 to any -> re0
nat pass on vge0 from 192.168.13.0/24 to any -> vge0
Настройки /etc/rc.firewall:

Код: Выделить всё

#!/bin/sh -
f='/sbin/ipfw'

${f} add 130 allow tcp from any to me 22
${f} add 131 allow tcp from me 22 to any

${f} add 200 allow ip from any to any

С данными настройками все работает по маршруту заданому в rc.conf.
Меняю шлюз в rc.conf - все бегают соответсвенно по 2 провайдеру.

Теперь вопрос:
какое правило нужно вставить в rc.firewall чтоб IP 192.168.13.11 ушел по шлюзу второго провайдера?

Припустим что шлюз по умолчанию: 10.46.16.1 и все пакеты идут через него.

Пробую добавить:

ipfw add 150 fwd 172.16.12.12 ip from 192.168.13.11 to any

интернет полностю перестает работать, пакеты не идут.

Подскажыте как задать форвардинг пакетов на шлюз 2 провайдера?

P.S. Если я правильно понял tcpdump то пакеты отправляются не начеными, но с того интерфейса кторого нужно.

Re: IPFW + PF NAT, как сменить шлюз по умолчанию?

Добавлено: 2009-09-01 14:25:37
hizel

Код: Выделить всё

ipfw add 150 fwd 172.16.12.12 ip from 192.168.13.11 to any out via vge0

Re: IPFW + PF NAT, как сменить шлюз по умолчанию?

Добавлено: 2009-09-01 15:19:54
alekshr
Не выходит, судя по tcpdump'y пакети теперь отправляются неначеными. Тоесть запрос идет от айпи 192.168.13.11, а не от 172.16.12.11 как нужно было бы... но на той шлюз, только толку...

Re: IPFW + PF NAT, как сменить шлюз по умолчанию?

Добавлено: 2009-09-01 16:29:57
hizel
ну да, что такое помню, FORWARD выносит далеко мимо всех фаеров
используйте ядерный nat или natd ;]

Re: IPFW + PF NAT, как сменить шлюз по умолчанию?

Добавлено: 2009-09-02 11:24:13
Shuba
alekshr писал(а):Настройки pf.conf:

Код: Выделить всё

nat pass on re0 from 192.168.13.0/24 to any -> re0
nat pass on vge0 from 192.168.13.0/24 to any -> vge0
Настройки /etc/rc.firewall:

Код: Выделить всё

#!/bin/sh -
f='/sbin/ipfw'

${f} add 130 allow tcp from any to me 22
${f} add 131 allow tcp from me 22 to any

${f} add 200 allow ip from any to any

С данными настройками все работает по маршруту заданому в rc.conf.
Меняю шлюз в rc.conf - все бегают соответсвенно по 2 провайдеру.

Теперь вопрос:
какое правило нужно вставить в rc.firewall чтоб IP 192.168.13.11 ушел по шлюзу второго провайдера?

Припустим что шлюз по умолчанию: 10.46.16.1 и все пакеты идут через него.

Пробую добавить:

ipfw add 150 fwd 172.16.12.12 ip from 192.168.13.11 to any

интернет полностю перестает работать, пакеты не идут.

Подскажыте как задать форвардинг пакетов на шлюз 2 провайдера?
а если так

Код: Выделить всё

nat on re0 from 192.168.13.0/24 to any -> re0
nat on vge0 from 192.168.13.13 to any -> vge0
и так

Код: Выделить всё

route add -net 172.16.12.0/24 172.16.12.12

Re: IPFW + PF NAT, как сменить шлюз по умолчанию?

Добавлено: 2009-09-02 11:48:42
sch
а лучше уже так:

Код: Выделить всё

ipfw disable one_pass
ipfw nat 1 config ip 172.16.12.11
ipfw add 140 nat 1 ip from 192.168.13.11 to any in vge1 out re0
ipfw add 141 fwd 172.16.12.12 ip from 172.16.12.11 to any out re0
ipfw add 142 nat 1 ip from any to 172.16.12.11 in via re0
и дефолтный шлюз на 10.46.16.1