Уважаемые, Гуру! Обращаюсь к вам за помощью. Столкнулся со следующей проблемой:
От провайдера получил единственный 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 rl1NATD запускаю следующим образом:
natd -n rl0Все внутренние машины имеют шлюз: 10.10.9.1
После всего этого с внутренних машин ping во внешний мир не проходит.
Что я не так сделал, подскажите пожалуйста!
Буду признателен за любую помощь!
Спасибо!
>Уважаемые, Гуру! Обращаюсь к вам за помощью. Столкнулся со следующей проблемой:
>От провайдера получил единственный 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"
не забыл???
>
>
>в /etc/rc.conf
>gateway_enable="YES"
>не забыл???
Естественно не забыл!
у natd с каскадом правил в ipfw иногда проблемы
иногда трудно понять почему не работает - нужен навыксделай проще
ipfw add 10 divert ip from any to any via rl0
и natd не забудь
есго можно настроить и в rc.conf (порой в default)
может ты подсеть в ipfw с ошибкой написал - она и не работает
Например
:-)
млииин :( ну почему никто читалки читать не хочет?
хотите двойной нат делаете:
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-й сети)
А что у автора иначе?
>Мои настройки:
>
>"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вроде все написал... пробуй, должно работать...
>$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
почему не работает?
БОЛЬШОЕ СПАСИБО ВСЕМ, КТО ПРИНИМАЛ УЧАСТИЕ В ОБСУЖДЕНИИ ЭТОЙ ТЕМЫ!Я просто в неправильной последовательности расставлял правила в ipfw.
Всем большое СПАСИБО!