The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"NATD и виртуальные интерфейсы"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"NATD и виртуальные интерфейсы"  
Сообщение от lordvamp (ok) on 25-Окт-06, 11:24 
ОС: Freebsd 6.1

Интерфейс fxp0 смотрит в сторону провайдера, на нем прописан 1 алиас:
ifconfig_fxp0="inet 80.22.22.22 netmask 255.255.255.0"
ifconfig_fxp0_alias0="inet 80.22.22.23 netmask 255.255.255.0"

Интерфейс xl0 смотрит в сторону локалки:
ifconfig_xl0="inet 10.0.0.1 netmask 255.255.255.0"

Возможно ли через divert natd маскарадить диапазон внутренних IP 10.0.0.2-100 на внешний IP 80.22.22.22, а диапазон 10.0.0.101-254 на 80.22.22.23? Как правильно прописать divert-ы?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

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


1. "NATD и виртуальные интерфейсы"  
Сообщение от kam email(ok) on 25-Окт-06, 12:39 
>ОС: Freebsd 6.1
>
>Интерфейс fxp0 смотрит в сторону провайдера, на нем прописан 1 алиас:
>ifconfig_fxp0="inet 80.22.22.22 netmask 255.255.255.0"
>ifconfig_fxp0_alias0="inet 80.22.22.23 netmask 255.255.255.0"
>
>Интерфейс xl0 смотрит в сторону локалки:
>ifconfig_xl0="inet 10.0.0.1 netmask 255.255.255.0"
>
>Возможно ли через divert natd маскарадить диапазон внутренних IP 10.0.0.2-100 на внешний
>IP 80.22.22.22, а диапазон 10.0.0.101-254 на 80.22.22.23? Как правильно прописать divert-ы?
>
Да, можно.
Запускаешь два natd, по одному на каждый диапазон внутренних адресов. И для каждого natd указываешь свой alias_address. Естественно, что каждый natd должен слушать свой сокет. Могу выслать работающие конфиги. Пиши на kam (собака) automax72 (точка) ru
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "NATD и виртуальные интерфейсы"  
Сообщение от kam (ok) on 25-Окт-06, 17:42 
Прошу прощения, почтой выслать нет возможности поэтому публикую здесь.
В /etc/rc.conf добавлено:
firewall_enable="YES"
firewall_script="/etc/ipfw.rules"
natd_enable="NO"

natd запускаются из /etc/rc.local:

/sbin/natd -f /etc/natd1.conf
/sbin/natd -f /etc/natd2.conf

В /etc/natd1.conf пишем:

use_sockets yes
same_ports yes
log_ipfw_denied yes
log_denied yes
log_facility daemon
alias_address 80.22.22.22
port 32001

В /etc/natd2.conf пишем:

use_sockets yes
same_ports yes
log_ipfw_denied yes
log_denied yes
log_facility daemon
alias_address 80.22.22.23
port 32002

В /etc/ipfw.rules пишем:

#!/bin/sh
          
fwcmd="/sbin/ipfw"
              
oif="rl0" # Внешний интерфейс.
iif="rl1" # Внутренний интерфейс.
        
wan1="80.22.22.22" # Внешний адрес N1.
wan2="80.22.22.23" # Внешний адрес N2.

base="10.0.0.0/24"

hosts1="{2-100}"
hosts2="{101-254}"
  
# Сбрасываем правила фаирвола.
$fwcmd -f flush

# Запрещаем спуфинг на внешнем интерфейсе.
$fwcmd add deny log all from any to any in via $oif not verrevpath

# Разрешаем траффик на внутреннем интерфейсе.
$fwcmd add allow all from any to any via ${iif}

#Заворачиваем пакеты, входящие с внешнего интерфейса, в диверт.
$fwcmd add divert 32001 all from any to ${wan1} in via ${oif}
$fwcmd add divert 32002 all from any to ${wan2} in via ${oif}

# Проверяем состояние динамических правил.
$fwcmd add check-state

# Разрешаем локальный траффик.
$fwcmd add allow all from any to any via lo0
$fwcmd add deny all from any to 127.0.0.0/8
$fwcmd add deny all from 127.0.0.0/8 to any

# Запоминаем состояние сессий относящихся к NAT.
$fwcmd add skipto 60000 all from ${base}${hosts1} to any out via ${oif} keep-state
$fwcmd add skipto 60000 all from ${base}${hosts2} to any out via ${oif} keep-state

# Разрешаем себе выход наружу.
$fwcmd add allow all from me to any via ${oif} keep-state

# Запрещаем всё по-умолчанию.
$fwcmd add deny log all from any to any

#Заворачиваем исходящие пакеты в диверт.
$fwcmd add 60000 divert 32001 all from ${base}${hosts1} to any out via ${oif}
$fwcmd add divert 32002 all from ${base}${hosts2} to any out via ${oif}

$fwcmd add allow all from any to any


PS: Всё это работает на FreeBSD 5.5-STABLE, но думаю что и на 6.1 проблем не будет.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "NATD и виртуальные интерфейсы"  
Сообщение от lordvamp (ok) on 27-Окт-06, 14:48 
Спасибо! Заработало
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

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

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




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

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