URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 40340
[ Назад ]

Исходное сообщение
"Пожалуйста, помогите с NATD"

Отправлено RSRuslan , 09-Фев-04 18:35 
Уважаемые, Гуру! Обращаюсь к вам за помощью. Столкнулся со следующей проблемой:
От провайдера получил единственный IP-adress. Проблема в том, что с помощью NATD не могу с клиентских машин попасть в NATD.

Мои настройки:

"rl0" - интерфейс, который смотрит во внешний мир, и имеет IP-адресс 77.88.99.20;
"rl1" - интерфейс, который смотрит в локальную сеть офиса, и имеет IP-адресс 10.10.9.1;

Ядро сконфигурировано с опциями:
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=10
options IPDIVERT

В фаерволе имею следующие правила:
ipfw add 10 divert natd ip from 10.10.9.0/24 to any out via rl0
ipfw add 20 divert natd ip from any to 77.88.99.20 in via rl0
ipfw add 30 pass all from any to any via rl1

NATD запускаю следующим образом:
natd -n rl0

Все внутренние машины имеют шлюз: 10.10.9.1

После всего этого с внутренних машин ping во внешний мир не проходит.
Что я не так сделал, подскажите пожалуйста!
Буду признателен за любую помощь!
Спасибо!


Содержание

Сообщения в этом обсуждении
"Пожалуйста, помогите с NATD"
Отправлено Bopros , 09-Фев-04 22:33 
>Уважаемые, Гуру! Обращаюсь к вам за помощью. Столкнулся со следующей проблемой:
>От провайдера получил единственный IP-adress. Проблема в том, что с помощью NATD
>не могу с клиентских машин попасть в NATD.
>
>Мои настройки:
>
>"rl0" - интерфейс, который смотрит во внешний мир, и имеет IP-адресс 77.88.99.20;
>
>"rl1" - интерфейс, который смотрит в локальную сеть офиса, и имеет IP-адресс
>10.10.9.1;
>
>Ядро сконфигурировано с опциями:
>options IPFIREWALL
>options IPFIREWALL_VERBOSE
>options IPFIREWALL_VERBOSE_LIMIT=10
>options IPDIVERT
>
>В фаерволе имею следующие правила:
>ipfw add 10 divert natd ip from 10.10.9.0/24 to any out via
>rl0
>ipfw add 20 divert natd ip from any to 77.88.99.20 in via
>rl0
>ipfw add 30 pass all from any to any via rl1
>
>NATD запускаю следующим образом:
>natd -n rl0
>
>Все внутренние машины имеют шлюз: 10.10.9.1
>
>После всего этого с внутренних машин ping во внешний мир не проходит.
>
>Что я не так сделал, подскажите пожалуйста!
>Буду признателен за любую помощь!
>Спасибо!


в /etc/rc.conf
gateway_enable="YES"
не забыл???


"Пожалуйста, помогите с NATD"
Отправлено RSRuslan , 10-Фев-04 18:21 
>
>
>в /etc/rc.conf
>gateway_enable="YES"
>не забыл???


Естественно не забыл!


"Пожалуйста, помогите с NATD"
Отправлено Lamr , 10-Фев-04 19:17 
у natd с каскадом правил в ipfw иногда проблемы
иногда трудно понять почему не работает - нужен навык

сделай проще

ipfw add 10 divert ip from any to any via rl0

и natd не забудь
есго можно настроить и в rc.conf (порой в default)


">иногда трудно понять почему не работает - нужен навык "
Отправлено Lamr , 10-Фев-04 19:18 
может ты подсеть в ipfw с ошибкой написал - она и не работает
Например
:-)

"opennet в руки! :)"
Отправлено .snark , 10-Фев-04 20:29 
млииин :( ну почему никто читалки читать не хочет?
хотите двойной нат делаете:
ipfw add 10 divert natd (что надо свернуть в реальный адрес) to any out xmit (внешний интерфейс)
ipfw add 20 divert natd from any to (реальный адрес)
если хотите одиночный то:
ipfw add divert natd from any to any via (внешний интерфейс)
(одиночный/двойной - мое название, по кол-ву правил на нат для 1-й сети)

"opennet в руки! :)"
Отправлено A Clockwork Orange , 11-Фев-04 11:17 
А что у автора иначе?

"Пожалуйста..."
Отправлено .snark , 10-Фев-04 20:53 

>Мои настройки:
>
>"rl0" - интерфейс, который смотрит во внешний мир, и имеет IP-адресс 77.88.99.20;
>
>"rl1" - интерфейс, который смотрит в локальную сеть офиса, и имеет IP-адресс
>10.10.9.1;
>
> ...skip...
>
>Все внутренние машины имеют шлюз: 10.10.9.1

делай раз:
rc.conf
## Network
defaultrouter="77.88.99.10" или что там у твоего прова за IP
ifconfig_rl0="77.88.99.20  netmask 255.255.255.0" маски ставь те что у тебя!
ifconfig_rl1="inet 10.10.9.1  netmask 255.255.255.0"
gateway_enable="YES"
hostname="gate.youorg" я ХЗ что там у тебя...
## Firewall
firewall_enable="YES"
firewall_script="/etc/ipfw/rc.firewall"
## NAT
natd_enable="YES"
natd_interface="rl0"
natd_flags="-f /etc/ipfw/natd.conf"
## Services
sendmail_enable="NO"
inetd_enable="NO"
sshd_enable="YES"
sshd_flags="-4"
named_enable="YES"
named_flags="-u bind -g bind"
ntpdate_enable="YES"
ntpdate_flags="ntp.spb.ru"

делай два:
/etc/ipfw/rc.firewall
#!/bin/sh
fw="/sbin/ipfw -q"
# Setup outside interface and ip
out_if="rl0"
out_ip="77.88.99.20"
# Setup inside interface and ip
lan_if="rl1"
lan_ip="10.10.9.1"
lan_net="10.10.9.0:255.255.255.0"

$fw -f flush
$fw add pass all from any to any via lo0
$fw add pass all from 127.0.0.0/8 to any
$fw add deny all from any to 127.0.0.0/8
$fw add deny all from $lan_net to any in via $out_if
$fw add deny all from not $lan_net to any in via $lan_if
$fw add divert natd all from any to any via $out_if
$fw add pass all from any to any

делай три:
/etc/ipfw/natd.conf
use_sockets yes
same_ports yes
unregistered_only yes

делай четыре:
на компах юзеров прописывай 10.10.9.1 как шлюз и настраивай bind в /etc/namedb или юзай провайдерский DNS

вроде все написал... пробуй, должно работать...


"Пожалуйста..."
Отправлено Алексей , 11-Фев-04 11:09 
>$fw add divert natd all from any to any via $out_if
>$fw add pass all from any to any

если поменять последнее правило на
$fw add deny all from any to any
а перед ним написать
$fw add allow all from $lan_net to any
$fw add allow all from any to $lan_net
почему не работает?


"Пожалуйста..."
Отправлено RSRuslan , 11-Фев-04 11:51 
БОЛЬШОЕ СПАСИБО ВСЕМ, КТО ПРИНИМАЛ УЧАСТИЕ В ОБСУЖДЕНИИ ЭТОЙ ТЕМЫ!

Я просто в неправильной последовательности расставлял правила в ipfw.

Всем большое СПАСИБО!