Страница 1 из 1

2 natd

Добавлено: 2009-04-06 8:38:33
Sun
Что то не понимаю, есть две сети и нужно разрешить юзерам одной сети ходить в другую, а юзерам из другой сети ходить в первую после подключения по впн, а как это сделать что то понять не могу,пока имеется только настройки такие:

рц конф:

Код: Выделить всё

hostname="get.vsit.ru"

gateway_enable="YES"

defaultrouter="192.168.201.100"

ifconfig_rl0="inet 192.168.201.60 netmask 255.255.255.0"
ifconfig_rl1="inet 172.29.151.14 netmask 255.255.255.248"

static_routes="rs1 wowgg"
route_rs1="-net 172.29.0.0/16 172.29.151.9"
route_wowgg="-host 172.31.64.84 172.29.151.9"

sshd_enable="YES"

named_enable="YES"

mpd_enable="YES"

firewall_enable="YES"
firewall_script="/etc/ipfw4.conf"

natd_enable="YES"
natd_interface="rl0"
natd_flags="-f /etc/natd.conf"
натд конф

Код: Выделить всё

log yes
use_sockets yes
same_ports yes
dynamic yes
unregistered_only yes
и файра

Код: Выделить всё

#!/bin/sh -

###

cmd="/sbin/ipfw -q"

#--------------------------
# настройки сети ВСИТ
vsitif="rl0"
vsitip="192.168.201.60"
vsitlan="192.168.201.0/24"
#--------------------------
# настройки сети Right-Side
rightif="rl1"
rightip="172.29.151.14"
rightlan="172.29.0.0/16"
#--------------------------
# те кому можно конектиться по ssh
val="192.168.201.49,192.168.201.100"
ral="172.29.146.119"
#--------------------------
# те кому разрешено конектиться по впн из райта
vral="10.100.0.0/16"
#--------------------------

###

# Сбрасываем все правила
${cmd} flush -f

# Проверяем - соответствует ли пакет динамическим правилам
${cmd} add check-state

# разрешаем весь трафик на внутреннем интерфейсе
${cmd} add allow ip from any to any via lo

# следующие два правила запрещают кому либо обращаться 127.0.0.1, а 127.0.0.1 обращаться к кому либо
# закоментировал потому что не работает днс при этих двух правилах
# ${cmd} add deny ip from any to 127.0.0.0/8
# ${cmd} add deny ip from 127.0.0.0/8 to any

# разрешаем все установленные соединения
${cmd} add allow tcp from any to any established

# разрешаем весь исходящий трафик от сервера, 1 в направление ВСИТа, 2 в направление РАЙТА
${cmd} add allow ip from ${vsitip} to any out xmit ${vsitif}
${cmd} add allow ip from ${rightip} to any out xmit ${rightif}

# разрешаем icmp трафик эхо-запрос,эхо-отает,время жизни пакета истекло
${cmd} add allow icmp from any to any icmptypes 0,8,11

# следующие два правила разрешают соединяться с сервером по ssh разрешенным хостам
${cmd} add allow tcp from ${val} to ${vsitip} 22 via ${vsitif}
${cmd} add allow tcp from ${ral} to ${rightip} 22 via ${rightif}

# следующие два правила разрешают входящий и исходящий dns трафик во всех направлениях
${cmd} add allow udp from any 53 to any
${cmd} add allow udp from any to any 53

# разрешаем конектиться по впн разрешенным хостам
${cmd} add allow tcp from any to me 1723
${cmd} add allow gre from any to any

# дивиртим запросы с подсети райта в всит
${cmd} add divert 8668 ip from ${vral} to any out xmit ${vsitif}
${cmd} add divert 8668 ip from any to ${vsitip} in recv ${vsitif}

# разрешаем все для вситовской сети
${cmd} add allow udp from any to any via ${vsitif}
${cmd} add allow tcp from any to any via ${vsitif}
${cmd} add allow icmp from any to any via ${vsitif}

Re: 2 natd

Добавлено: 2009-04-06 8:53:02
paradox
роутинг настроить

Re: 2 natd

Добавлено: 2009-04-06 9:00:01
skeletor
Имхо так не выйдет. Почему? Да потому что, если вы отправляете пакет с первой сети, то он как-то должен вернутся к вам (из второй в первую). А как он вернётся, если, например, тот хост, к которому адресован пакет, ещё не подключён по vpn? Либо не требовать подключение по VPN, либо искать другой метод.

Re: 2 natd

Добавлено: 2009-04-06 10:08:46
Sun
как реализовать иначе, выслушаю любые предложения :smile:

Re: 2 natd

Добавлено: 2009-04-06 10:15:25
skeletor
А вы расскажите, какой именно доступ нужен? Это какой-то один сервак? или просто юзеры между собой обмениваются расшаренными папками у каждого на своей машине? или как-то ещё? От это будет зависеть собственно реализация.

Re: 2 natd

Добавлено: 2009-04-06 10:44:26
Sun
Короче имеется локальная сеть организации в ней есть свой роутер, питается он инетом от хорошего прова А, недавно нам предоставил линк еще один пров В не настолько хороший как первый, но имеющий доступ к городской локальной сети на 100мб/с скорости, тот первый пров А дает только инет на 1мб/с скорости,чтоб не портить настроенный не мной сервак организации решил еще один поставить.Получается имеем следующие:
мой серв который я ставлю ходит в инет по каналам организации,а линк от второго прова В служит для гуляний по его сети из организации. А так как некоторые сотрудники находятся в сети второго прова В то имело бы смысл дать казеный инет в дома людям :smile: картинка приведена ниже

Re: 2 natd

Добавлено: 2009-04-06 11:24:45
skeletor
Ну можно посоветовать настроить прокси с авторизацией, например, squid. Человек вводит логин пароль и получает доступ в инет. Почти как vpn (тоже нужно авторизироваться и т.д.). Это для тех, которые из В.

Re: 2 natd

Добавлено: 2009-04-06 17:16:09
Sun
Ага,а через mpd не сделать,просто со сквидом вообще не разу еще не общался, и как быть с теми кто из сети организации?

ЗЫ: если можно толковый линк по настройки сквида с авторизацией,буду очень признателен :smile:

Re: 2 natd

Добавлено: 2009-04-06 22:33:52
snorlov
А по-моему все проще, привязать mpd к интерфейсу для провайдера 2, прописать маршрут на городскую сеть через NAT, если человеку идти во внутреннюю сеть то он через мзт становится членом внутренней сетки, дальше уже все проше, если человеку надо гулять по городской сети, то он отключается от внутренней сетки, а из внутренней сетки в городскую все попадают через nat

Re: 2 natd

Добавлено: 2009-04-07 10:14:26
skeletor
Sun писал(а):и как быть с теми кто из сети организации?
пускать их мимо сквида, например.
Sun писал(а): ЗЫ: если можно толковый линк по настройки сквида с авторизацией,буду очень признателен :smile:
http://squid.opennet.ru/
http://unixdocs.rags.ru/squid.html
http://www.opennet.ru/base/net/squid_inst.txt.html

Re: 2 natd

Добавлено: 2009-04-07 13:43:29
Sun
вопрос, а конфиг для сквида можно с нуля писать добовляя туда только то что считаю нужным,а то помню кто то пугал мол нужно редактировать дефолтовый?

Re: 2 natd

Добавлено: 2009-04-07 15:23:55
skeletor
Нет, дефолтный не нужно. Можно писать с нуля. Вот, минимум, что необходимо для работы. Почитай ту часть, которая про squid.

Re: 2 natd

Добавлено: 2009-06-11 7:23:59
Sun
Народ как быть. Предыдущий вопрос отпал. Теперь вопрос в другом:

Есть 3 интерфейса:
1-192.168.0.1(локалка)
2-10.10.100.5(локалка провайдера)
3-77.245.23.2(белый ип провайдера висит на влане)

На адрес 10.10.100.5 цепляются люди из сети провайдера по впн для этого стоит мпд5 и при помощи нат ходят в инет через 77.245.23.2 для этого всего написано это:

Код: Выделить всё

[get][root][/]#cat /etc/rc.conf
gateway_enable="YES"
named_enable="YES"
mpd_enable="YES"
squid_enable="YES"

defaultrouter="77.245.23.2"
ifconfig_rl1="inet 192.168.0.1 netmask 255.255.255.0"
ifconfig_rl0="inet 10.10.100.5 netmask 255.255.255.0"
cloned_interfaces="vlan1"
ifconfig_vlan1="inet 77.245.23.2 netmask 255.255.255.248 vlan 1 vlandev rl0"

firewall_enable="YES"
firewall_script="/etc/ipfw.conf"
natd_enable="YES"
natd_interface="vlan1"
natd_flags="-f /etc/natd.conf"

Код: Выделить всё

log yes
use_sockets yes
same_ports yes
dynamic yes
unregistered_only yes

Код: Выделить всё

#/bin/sh -
fwcmd="/sbin/ipfw -q"
vif="rl1"
vip="192.168.0.1"
rif="rl0"
rip="10.19.100.5"
rvif="vlan1"
rvip="77.245.23.2"
vpn="10.100.204.0/24"
vpnus="10.10.100.0/24"
${fwcmd} -f flush
${fwcmd} add check-state
# loopback
${fwcmd} add pass 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
# Разрешаем цепляться к MPD
${fwcmd} add pass tcp from ${vpnus} to me 1723 keep-state
${fwcmd} add pass gre from any to any
# Отправляем на прокси
${fwcmd} add fwd 127.0.0.1,3128 tcp from ${vpn} to any dst-port 80
# Натим
${fwcmd} add divert 8668 ip from ${vpn} to any out xmit ${rvif}
${fwcmd} add divert 8668 ip from any to me in recv ${rvif}
${fwcmd} add pass tcp from any to any established
${fwcmd} add pass ip from ${rip} to any out xmit ${rif}
${fwcmd} add pass ip from ${rvip} to any out xmit ${rvif}
${fwcmd} add pass udp from any 53 to any
${fwcmd} add pass udp from any to any 53
${fwcmd} add pass tcp from any to me 80 in recv ${rvif}
${fwcmd} add pass icmp from any to any icmptypes 0,8,11
# Разрешаем все для подключившихся по впн
${fwcmd} add pass tcp from ${vpn} to any via ng*
${fwcmd} add pass udp from ${vpn} to any via ng*
${fwcmd} add pass icmp from ${vpn} to any via ng*
# Разрешаем все для свой локалки
${fwcmd} add pass icmp from any to any via ${vif}
${fwcmd} add pass tcp from any to any via ${vif}
${fwcmd} add pass udp from any to any via ${vif}
# Все прочие режим
${fwcmd} add drop ip from any to any

Код: Выделить всё

http_port 127.0.0.1:3128 transparent
maximum_object_size 16384 KB
maximum_object_size_in_memory 8 KB
cache_mem  128 MB
cache_dir ufs /usr/local/squid/cache 40000 16 256
coredump_dir /usr/local/squid/cache
access_log /usr/local/squid/logs/access.log squid
cache_access_log /usr/local/squid/logs/access.log
cache_log /usr/local/squid/logs/cache.log
cache_store_log /usr/local/squid/logs/store.log
pid_filename /usr/local/squid/logs/squid.pid
logfile_rotate 10
acl all src 0.0.0.0/0.0.0.0
acl CONNECT method CONNECT
http_access allow all
cache_mgr labor@vsit.ru
cache_effective_user squid
cache_effective_group squid
visible_hostname get.vsit.ru
cachemgr_passwd QuErY all
Теперь вопрос такой, как разрешить 192.168.0.0/24 ходить в 10.10.100.0/24? я так понимаю второй нат нужен? подскажите плиз, раздать в локалку нужно из за IPTV, точнее планируется прикрутить igmpproxy

Re: 2 natd

Добавлено: 2009-06-11 10:37:21
skeletor
Второй нат не нужен. Просто настройте маршрутизацию.