The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"ipfw и двойной NAT"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Маршрутизация, NAT / FreeBSD)
Изначальное сообщение [ Отслеживать ]

"ipfw и двойной NAT"  +/
Сообщение от zwolf (ok) on 28-Дек-10, 13:18 
Есть локальная сеть и два канала в интернет. Один безлимитный, другой очень даже лимитный. Мне нужно, чтобы трафик от всех ходил через безлимитный интернет. В лимитный же должны ходить лишь некоторые программы с пары компов на ограниченное количество адресов.
Ну вот сделал вот так вот
rc.conf
defaultrouter="192.168.1.1"
hostname="xxxxx.local"
keymap="ru.koi8-r"
moused_enable="NO"
ifconfig_vr1="192.168.0.26 netmask 255.255.255.0" - LAN
ifconfig_vr0="inet 1.1.1.50 netmask 255.255.255.240" - лимитный инет
ifconfig_rl0="192.168.1.2 netmask 255.255.255.0" белимит (там роутер Интеркросс)
sshd_enable="YES"
static_routes="av1 av2 av3 av4 av5 av6 av7 av8 av9 av10 av11 av12 av13"
route_av1="-host 212.82.232.84 1.1.1.49"
route_av2="-host 194.84.74.33 1.1.1.49"
route_av3="-host 89.249.20.18 1.1.1.49"
........................................................
gateway_enable="YES"
firewall_enable="YES"
firewall_script="/etc/ipfw.rules"
natd_enable="YES"
natd_flags="/etc/natd.conf"

natd.conf
log yes
use_sockets no
dynamic yes
same_ports yes

#default instance
port 8668
interface vr0

#second instance
instance inet2
port 8778
interface rl0

ipfw.rules
ipfw='/sbin/ipfw -q'
lan='192.168.0.25/24'
ifout1='vr0'
ifout2='rl0'
ipout1='1.1.1.50'
ipout2='192.168.1.2'
iflan='vr1'

${ipfw} flush
${ipfw} add 50 check-state
${ipfw} add 100 allow ip from any to any in via lo0
${ipfw} add 200 allow tcp from me to any keep-state
${ipfw} add 205 allow udp from me to any domain keep-state
${ipfw} add 206 allow udp from any to me domain
# заворачиваем на нетамс
${ipfw} add 700 divert 199 ip from ${lan} to any out xmit ${ifout1}
# заворачиваем на Natd
${ipfw} add 800 divert 8668 ip from ${lan} to any out via ${ifout1}
${ipfw} add 810 divert 8778 ip from ${lan} to any out via ${ifout2}
${ipfw} add 900 divert 8668 ip from any to ${ipout2} in via ${ifout1}
${ipfw} add 910 divert 8778 ip from any to ${ipout2} in via ${ifout2}
${ipfw} add 915 divert 199 ip from any to ${lan} in recv ${ifout1}
${ipfw} add 920 allow ip from ${ipout2} to any out xmit ${ifout1}
${ipfw} add 925 allow ip from ${ipout2} to any out xmit ${ifout2}
${ipfw} add 930 allow ip from any to ${ipout2} in recv ${ifout1}
${ipfw} add 935 allow ip from any to ${ipout2} in recv ${ifout2}
${ipfw} add 940 allow ip from any to any established
${ipfw} add 2002 allow icmp from any to any
${ipfw} add 2005 allow ip from any to any 25,53,80,110,443,8080,2500-8000

И ничего не работает. То есть работает, но только один внешний канал. Второй упорно не натится и вообще. tcpdump показывает некий трафик на втором внешнем. Но почему он не выходит наружу - остается не понятным.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "ipfw и двойной NAT"  +/
Сообщение от reader (ok) on 28-Дек-10, 13:39 
>[оверквотинг удален]
> ${ipfw} add 925 allow ip from ${ipout2} to any out xmit ${ifout2}
> ${ipfw} add 930 allow ip from any to ${ipout2} in recv ${ifout1}
> ${ipfw} add 935 allow ip from any to ${ipout2} in recv ${ifout2}
> ${ipfw} add 940 allow ip from any to any established
> ${ipfw} add 2002 allow icmp from any to any
> ${ipfw} add 2005 allow ip from any to any 25,53,80,110,443,8080,2500-8000
> И ничего не работает. То есть работает, но только один внешний канал.
> Второй упорно не натится и вообще. tcpdump показывает некий трафик на
> втором внешнем. Но почему он не выходит наружу - остается не
> понятным.

таблицу маршрутизации проверте

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "ipfw и двойной NAT"  +/
Сообщение от zwolf (ok) on 28-Дек-10, 13:48 
> таблицу маршрутизации проверте

Дык проверял. Все вроде правильно... Но не работает - система перестает видеть второй шлюз
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            192.168.1.1        UGS         0        0    rl0
63.241.219.25      1.1.1.49           UGHS        0        0    vr0
80.66.90.4         1.1.17.49          UGHS        0        0    vr0
80.66.90.13        1.1.1.49           UGHS        0        0    vr0
83.219.7.48/28     link#2             U           0        5    vr0
83.219.7.50        link#2             UHS         0        0    lo0
89.249.20.18       1.1.1.49           UGHS        0        0    vr0
127.0.0.1          link#6             UH          0        5    lo0
151.193.141.254    1.1.1.1            UGHS        0        0    vr0
151.193.147.126    1.1.1.49           UGHS        0        0    vr0
151.193.180.231    1.1.1.49           UGHS        0        0    vr0
192.168.0.0/24     link#3             U           2      139    vr1
192.168.0.26       link#3             UHS         0       10    lo0
192.168.1.0/24     link#1             U           0        0    rl0
192.168.1.2        link#1             UHS         0        0    lo0
193.104.87.251     1.1.1.49           UGHS        0        0    vr0
194.84.25.44       1.1.1.49           UGHS        0        0    vr0
194.84.74.33       1.1.1.49           UGHS        0        0    vr0
212.82.232.84      1.1.1.49           UGHS        0        0    vr0
213.33.133.254     1.1.1.49           UGHS        0        0    vr0
213.33.173.130     1.1.1.49        UGHS        0        0    vr0

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "ipfw и двойной NAT"  +/
Сообщение от reader (ok) on 28-Дек-10, 14:15 
почему у вас только ${ipout2}, а ${ipout1} - нет
и про tcpdump на втором канале поподробней
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "ipfw и двойной NAT"  +/
Сообщение от zwolf (ok) on 28-Дек-10, 14:25 
> почему у вас только ${ipout2}, а ${ipout1} - нет

ЭЭээ... Как это нет?

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "ipfw и двойной NAT"  +/
Сообщение от reader (ok) on 28-Дек-10, 14:30 
>> почему у вас только ${ipout2}, а ${ipout1} - нет
> ЭЭээ... Как это нет?

${ipfw} add 900 divert 8668 ip from any to ${ipout2} in via ${ifout1}
${ipfw} add 910 divert 8778 ip from any to ${ipout2} in via ${ifout2}

${ipfw} add 920 allow ip from ${ipout2} to any out xmit ${ifout1}
${ipfw} add 925 allow ip from ${ipout2} to any out xmit ${ifout2}
${ipfw} add 930 allow ip from any to ${ipout2} in recv ${ifout1}
${ipfw} add 935 allow ip from any to ${ipout2} in recv ${ifout2}

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "ipfw и двойной NAT"  +/
Сообщение от zwolf (ok) on 28-Дек-10, 14:48 
>>> почему у вас только ${ipout2}, а ${ipout1} - нет
>> ЭЭээ... Как это нет?
> ${ipfw} add 900 divert 8668 ip from any to ${ipout2} in via

Кажется я немного не тот конфиг показал
Сейчас запущен такой

${ipfw} flush
${ipfw} add 50 check-state
${ipfw} add 100 allow ip from any to any in via lo0
${ipfw} add 200 allow tcp from me to any keep-state
${ipfw} add 205 allow udp from me to any domain keep-state
${ipfw} add 230 allow tcp from any to me ssh
${ipfw} add 700 divert 199 ip from ${lan} to any out xmit ${ifout1}
${ipfw} add 800 divert 8668 ip from ${lan} to any out via ${ifout1}
${ipfw} add 810 divert 8778 ip from ${lan} to any out via ${ifout2}
${ipfw} add 900 divert 8668 ip from any to ${ipout1} in via ${ifout1}
${ipfw} add 910 divert 8778 ip from any to ${ipout2} in via ${ifout2}
${ipfw} add 915 divert 199 ip from any to ${lan} in recv ${ifout1}
${ipfw} add 920 allow ip from ${ipout1} to any out xmit ${ifout1}
${ipfw} add 925 allow ip from ${ipout2} to any out xmit ${ifout2}
${ipfw} add 921 allow ip from any to ${ipout1} in recv ${ifout1}
${ipfw} add 935 allow ip from any to ${ipout2} in recv ${ifout2}
${ipfw} add 940 allow ip from any to any established
${ipfw} add 2002 allow icmp from any to any
${ipfw} add 2005 allow ip from any to any 25,53,80,110,443,8080,3233,7296


Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "ipfw и двойной NAT"  +/
Сообщение от reader (ok) on 28-Дек-10, 17:44 
>[оверквотинг удален]
> ${ifout2}
> ${ipfw} add 915 divert 199 ip from any to ${lan} in recv
> ${ifout1}
> ${ipfw} add 920 allow ip from ${ipout1} to any out xmit ${ifout1}
> ${ipfw} add 925 allow ip from ${ipout2} to any out xmit ${ifout2}
> ${ipfw} add 921 allow ip from any to ${ipout1} in recv ${ifout1}
> ${ipfw} add 935 allow ip from any to ${ipout2} in recv ${ifout2}
> ${ipfw} add 940 allow ip from any to any established
> ${ipfw} add 2002 allow icmp from any to any
> ${ipfw} add 2005 allow ip from any to any 25,53,80,110,443,8080,3233,7296

а natd запустился?

по моему так будет ошибка
natd_flags="/etc/natd.conf"

natd_flags="-f /etc/natd.conf"

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру