Перейти до

Вопросы по настройке Nat OnConnect и OnDisconnect


Рекомендованные сообщения

Всем доброго дня!!

Вчера установил новый старгейзер, классная штука, все работает, но остался один вопросик:

КАК ПРАВИЛЬНО НАСТРОИТЬ НАТ?

 

я попытался как в примере _http://www.stargazer.dp.ua/doc/conf_example_freebsd.html

 

но ничего не вышло, сервак видит инет, но клиент нет....

напишите пожалуста типичные настройки ipfw onconnect и ondisconnect скриптов..

 

 

у меня два интерфейса vr0 192.168.0.1 - в локалку

ed0 192.168.1.3 в инет (через АДСЛ)

Ссылка на сообщение
Поделиться на других сайтах

Если OC FreeBSD то:

можно natd -s -m -n ed0

Далее в ваерволл добавляешь правило:

ipfw a XX divert natd all from IP-adres to any (Для клиентов)

ipfw a XX+100 divert natd from any to any (Для того чтобы ответы на зпросы клиентов тоже дивертились)

В таблице маршрутизации делаешь дефолтным шлюзом твой АДСЛ модем.

Вроде всё.

Ссылка на сообщение
Поделиться на других сайтах

vr0 192,168,0,1 в локалку

ed0 192.168.1.3 в инет

 

Чтоб понятней было

OnConnect

fwcmd="/sbin/ipfw"

int_if="vr0"

ip=$2

login=$1

id=$4

 

${fwcmd} add `expr $id '*' 10 + 29000` fwd 127.0.0.1,3128 tcp from $ip to any 80 via ${int_if}

${fwcmd} add `expr $id '*' 10 + 29001` allow ip from $ip to any via ${int_if}

${fwcmd} add `expr $id '*' 10 + 29002` allow ip from any to $ip via ${int_if}

echo "connect $login " >> /log/connect.log

 

OnDisconnect

fwcmd="/sbin/ipfw"

id=$4

${fwcmd} delete `expr $id '*' 10 + 29000`

${fwcmd} delete `expr $id '*' 10 + 29001`

${fwcmd} delete `expr $id '*' 10 + 29001`

echo "disconnect $1" >> /var/log/connect.log

 

Сам нат

#!/bin/sh

fwcmd="/sbin/ipfw"

natdcmd="/sbin/natd"

int_if="vr0"

#serv_if="xl1"

ext_if="ed0"

Сбрасываем правила ipfw

${fwcmd} -f flush

 

${natdcmd} -s -m -a 192.168.1.1

 

${fwcmd} add 10 allow icmp from any to any

 

${fwcmd} add 305 deny ip from any to 10.0.0.0/16 out via ${ext_if}

${fwcmd} add 306 deny ip from any to 172.16.0.0/12 out via ${ext_if}

 

${fwcmd} add 308 allow udp from any to 192.168.0.1 8888 via ${int_if}

${fwcmd} add 309 allow udp from 192.168.0.1 to any via ${int_if}

 

${fwcmd} add 310 allow tcp from 192.168.0.200 to 192.168.0.1 22 via ${int_if}

${fwcmd} add 311 allow tcp from 192.168.0.205 to 192.168.0.1 22 via ${int_if}

${fwcmd} add 312 allow tcp from 192.168.0.1 to any via ${int_if}

 

${fwcmd} add 320 deny log ip from 192.168.0.0/24 to 192.168.0.1 via ${int_if}

${fwcmd} add 321 deny log ip from 192.168.0.0/24 to 192.168.1.1 via ${int_if}

 

${fwcmd} add 50024 divert natd all from any to any via ${ext_if}

 

${fwcmd} add 50029 allow tcp from any to any out via ${ext_if} setup

${fwcmd} add 50030 allow tcp from any to any via ${ext_if} established

 

 

${fwcmd} add 50031 allow udp from any to any out via ${ext_if}

${fwcmd} add 50032 allow udp from any 53 to any in via ${ext_if}

 

${fwcmd} add 50033 allow tcp from any to 192.168.1.1 22 via ${ext_if}

 

${fwcmd} add 65534 deny log ip from any to any

Ссылка на сообщение
Поделиться на других сайтах

Вот так зделай:

 

OnConnect

 

fwcmd="/sbin/ipfw"

 

ip=$2

login=$1

id=$4

 

${fwcmd} add `expr $id '*' 10 + 29000` divert natd ip from $ip to any

${fwcmd} add `expr $id '*' 10 + 29001` allow ip from $ip to any

${fwcmd} add `expr $id '*' 10 + 29002` allow ip from any to $ip

 

NAT

 

#!/bin/sh

fwcmd="/sbin/ipfw"

natdcmd="/sbin/natd"

 

Сбрасываем правила ipfw

${fwcmd} -f flush

 

${natdcmd} -s -m -a 192.168.1.3

 

${fwcmd} add divert natd ip from any to 192.168.1.3

 

---------------------------------------------------------------

 

А дальше все сам придумывай! У меня сделано по такому принцыпу и все пашет зашыбись!!!

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

×
×
  • Створити нове...