Всех приветствую.
Перечитал все что смог найти в инети на русском, с английским туго у меня.
вообщем моя задача такая раздать интернет в локальную сеть нужным людям по впн при этом ограничить скорость скачивания.
Сеть большая 172.16.1.1 это в которой я сижу, также сидят из других подсетей (172.16.2.1)(172.16.2.1)(172.16.3.1)(172.16.4.1) возможно со временем увеличиться
что я имею АДСЛ модем подключённый к провайдеру домолинк.
выход в локальную сеть по IP адресу
FreeBDS установил проблем нет с нее все пингуеться и модем и днс сервера провайдера и тестовый комп в локальной сети.
MPD5 тоже установил настроил - тестовый комп подключаеться по ВНП к FreeBSD без проблем но интернет на нем не появляеться.
Думаю все проблема в неправильной настройки PF прощу помочь и объяснить что к чему, также объяснить как скорость ограничевать с помошью PF
вот мои конфиги:
rc.confdefaultrouter="172.16.7.88" ---ip модема
hostname="vpn.workgroup.local"
ifconfig_ed0="inet 172.16.7.20 netmask 255.255.255.0" ---внешний сетивуха на модем
ifconfig_ste0="inet 172.16.1.56 netmask 255.255.255.0" ---внутренняя смотрит в локалку
keymap="ru.koi8-r"
firewall_enable="YES"
gateway_enable="YES"
mpd_enable="YES"
pf_enable="YES"
pf_rules="/etc/pf.conf"
pflog_enable="YES"
(Нужно ли здесь прописывать DNS провайдера как это прописано в модеми, если нужно то как)mpd.conf
default:
load pptp_server
pptp_server:
set ippool add pool1 172.16.1.1 192.168.6.200
create bundle template B
set iface enable proxy-arp
set iface idle 0
set iface enable tcpmssfix
set ipcp yes vjcomp
set ipcp ranges 172.16.7.210/32 ippool pool1
set ipcp dns 172.16.1.65
set bundle enable compression
set ccp yes mppc
set mppc yes e40
set mppc yes e128
set mppc yes stateless
create link template L pptp
set link action bundle B
set link enable multilink
set link yes acfcomp protocomp
set link no pap chap eap
set link enable chap
set link keep-alive 10 60
set link mtu 1460
set pptp self 172.16.1.56
set link enable incoming
(по этому конфигу пару вопросов
1. set ipcp dns 172.16.1.65 это DNS модема или ip внутренней сетевой карты которая смотрит в локальную сеть
2. set pptp self 172.16.1.56 это как я понимаю ip сетивой карты на которую подключаеться впн)
pf.confint_if="ste0"
ext_if="ed0"
localnet="172.16.0/24"scrub in all fragment reassemble
nat on $ext_if from $localnet to any -> ($ext_if)pass out on $ext_if from $ext_if to any keep state
pass inet proto icmp allpass out on $ext_if proto tcp all modulate state flags S/SA
pass out on $ext_if proto { udp, icmp } all keep state(как прописать здесь ограничение скорости пользователям и чего сдесь еще не хватает??)
прошу помочь разобраться.
>[оверквотинг удален]
> ext_if="ed0"
> localnet="172.16.0/24"
> scrub in all fragment reassemble
> nat on $ext_if from $localnet to any -> ($ext_if)
> pass out on $ext_if from $ext_if to any keep state
> pass inet proto icmp all
> pass out on $ext_if proto tcp all modulate state flags S/SA
> pass out on $ext_if proto { udp, icmp } all keep state
> (как прописать здесь ограничение скорости пользователям и чего сдесь еще не хватает??)
> прошу помочь разобраться.http://www.opennet.me/base/sec/pf_openbsd_altq.txt.html
http://www.opennet.me/base/net/pf_filter_lecture.txt.html
>[оверквотинг удален]
>> scrub in all fragment reassemble
>> nat on $ext_if from $localnet to any -> ($ext_if)
>> pass out on $ext_if from $ext_if to any keep state
>> pass inet proto icmp all
>> pass out on $ext_if proto tcp all modulate state flags S/SA
>> pass out on $ext_if proto { udp, icmp } all keep state
>> (как прописать здесь ограничение скорости пользователям и чего сдесь еще не хватает??)
>> прошу помочь разобраться.
> http://www.opennet.me/base/sec/pf_openbsd_altq.txt.html
> http://www.opennet.me/base/net/pf_filter_lecture.txt.htmlПрочитал переписал pf.conf
ext_if = "ste0"
int_if = "ed1"
localnet = $int_if:networknat on $ext_if from $localnet to any -> ($ext_if)
block all
pass inet proto tcp from { lo0, $localnet } to any keep stateclient_out = "{ftp, domain, pop3, auth, http, 446, 2628, 5999, 8000, 8080 }"
pass inet proto tcp from $localnet to any port $client_out flags S/SA keep stateudp_services = "{ domain, ntp }"
pass quick inet proto { tcp, udp } to any port $udp_services keep stateicmp_types = "echoreq"
pass inet proto icmp all icmp-type $icmp_types keep stateсейчас с тестового компа не могу подключиться по впн
Объясните у кого есть время что я не так делаю
>[оверквотинг удален]
> ext_if="ed0"
> localnet="172.16.0/24"
> scrub in all fragment reassemble
> nat on $ext_if from $localnet to any -> ($ext_if)
> pass out on $ext_if from $ext_if to any keep state
> pass inet proto icmp all
> pass out on $ext_if proto tcp all modulate state flags S/SA
> pass out on $ext_if proto { udp, icmp } all keep state
> (как прописать здесь ограничение скорости пользователям и чего сдесь еще не хватает??)
> прошу помочь разобраться.Я в свое время ограничивал скорость так
http://www.opennet.me/base/net/vpn_mpd_pf.txt.html
>[оверквотинг удален]
> ext_if="ed0"
> localnet="172.16.0/24"
> scrub in all fragment reassemble
> nat on $ext_if from $localnet to any -> ($ext_if)
> pass out on $ext_if from $ext_if to any keep state
> pass inet proto icmp all
> pass out on $ext_if proto tcp all modulate state flags S/SA
> pass out on $ext_if proto { udp, icmp } all keep state
> (как прописать здесь ограничение скорости пользователям и чего сдесь еще не хватает??)
> прошу помочь разобраться.Да, безусловно, PF хорош, но в IPFW есть такая хорошая штучка, как tablearg, весьма удобная для того, чтобы зоопарк пайпов и правил не плодить.
Опять же, вам оно может и не надо..
>[оверквотинг удален]
>> pass out on $ext_if from $ext_if to any keep state
>> pass inet proto icmp all
>> pass out on $ext_if proto tcp all modulate state flags S/SA
>> pass out on $ext_if proto { udp, icmp } all keep state
>> (как прописать здесь ограничение скорости пользователям и чего сдесь еще не хватает??)
>> прошу помочь разобраться.
> Да, безусловно, PF хорош, но в IPFW есть такая хорошая штучка, как
> tablearg, весьма удобная для того, чтобы зоопарк пайпов и правил не
> плодить.
> Опять же, вам оно может и не надо..Мне от PF нужен минимум
при подключении ко мне юзверя по впн раздать ему интернет при этом ограничить его скорость.
Подскажите где я ошибся и как сделать правильно конкретно для меня