MPD+IPFW
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
- sidor-r
- мл. сержант
- Сообщения: 145
- Зарегистрирован: 2006-09-05 9:50:17
- Контактная информация:
MPD+IPFW
Добрый день.
Возникла необходимость предоставить доступ к терминальному серверу, а так же к ресурсам локальной сети по средствам VPN. MPD настраивал по статье на этом сайте.
Имеем шлюз на FreeBSD 5.5 и MPD.
Проблема в седующем: Всё сделал, настроил MPD, при подключении связь устанавливается, пинг до терменального сервера внутри сети идет но набрав его IP в клиенте терминала соединение не происходит также нет доступа к внутренним локальным ресурсам хотя пинг до всех серверов идет нормально. Как это можно исправить?
Подскажите какие правила добавить в IPFW и под каким намером?
Эксперементировать нет вожможности т.к. все настраиваю на рабочем сервере!!!
rl1 - 195.XXX.XXX.XXX-внешний адрес
rl0 - 192.168.111.0/24-Локальная сеть
ng* - 192.168.100.0/24-Адреса которые выдаются vpn клиентам.
В ядро вкючены следуюшие функции:
Код:
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPFIREWALL_FORWARD
options IPDIVERT
options NETGRAPH
options NETGRAPH_BPF
options NETGRAPH_IFACE
options NETGRAPH_KSOCKET
options NETGRAPH_MPPC_ENCRYPTION
options NETGRAPH_PPP
options NETGRAPH_PPTPGRE
options NETGRAPH_SOCKET
options NETGRAPH_VJC
options NETGRAPH_ETHER
options NETGRAPH_SOCKET
options NETGRAPH_TEE
mpd.conf
Код:
default:
load pptp0
load pptp1
load pptp2
pptp0:
new -i ng0 pptp0 pptp0
set ipcp ranges 192.168.100.1/24 192.168.100.100/24
load pptp_standart
pptp1:
new -i ng1 pptp1 pptp1
set ipcp ranges 192.168.100.1/24 192.168.100.101/24
load pptp_standart
pptp2:
new -i ng2 pptp2 pptp2
set ipcp ranges 192.168.100.1/24 192.168.100.102/24
load pptp_standart
pptp_standart:
set iface disable on-demand
set bundle disable multilink
set link yes acfcomp protocomp
set link no pap chap
set link enable chap
set link keep-alive 60 180
set ipcp yes vjcomp
set iface enable proxy-arp
set bundle enable compression
set ccp yes mppc
set ccp yes mpp-e40
set ccp yes mpp-e128
set ccp yes mpp-stateless
set bundle yes crypt-reqd
set pptp self 195.XXX.XXX.XXX
set pptp enable incoming
set pptp disable originate
mpd.links
Код:
pptp0:
set link type pptp
pptp1:
set link type pptp
pptp2:
set link type pptp
mpd.secret
Код:
user "testpassword" 192.168.100.100
#ipfw list
00100 check-state
00200 allow ip from any to any via lo0
00300 deny ip from any to 10.0.0.0/8 in via rl1
00400 deny ip from any to 172.16.0.0/12 in via rl1
00600 deny ip from any to 0.0.0.0/8 in via rl1
00700 deny ip from any to 169.254.0.0/16 in via rl1
00800 deny ip from any to 240.0.0.0/4 in via rl1
00900 deny icmp from any to any frag
01000 deny log logamount 1000 icmp from any to 255.255.255.255 in via rl1
01100 deny log logamount 1000 icmp from any to 255.255.255.255 out via rl1
01140 allow tcp from any 1723 to any via rl0
01150 allow tcp from any to me dst-port 1723
01160 allow gre from any to any
01300 fwd 127.0.0.1,3128 tcp from 192.168.111.0/24 to any dst-port 80,443 via rl1
01310 divert 8668 ip from 192.168.100.0/24 to any out via rl1
01400 divert 8668 ip from 192.168.111.0/24 to any out via rl1
01500 divert 8668 ip from any to 195.XXX.XXX.XXX in via rl1
01600 deny ip from 10.0.0.0/8 to any out via rl1
01700 deny ip from 172.16.0.0/12 to any out via rl1
01900 deny ip from 0.0.0.0/8 to any out via rl1
02000 deny ip from 169.254.0.0/16 to any out via rl1
02100 deny ip from 224.0.0.0/4 to any out via rl1
02200 deny ip from 240.0.0.0/4 to any out via rl1
02300 allow tcp from any to any established
02400 allow ip from 195.XXX.XXX.XXX to any out xmit rl1
02500 allow udp from any 53 to any via rl1
02600 allow tcp from any 3389 to any via rl1
02700 allow tcp from any to any dst-port 3389 via rl1
02800 allow tcp from any 4899 to any via rl1
02900 allow tcp from any to any dst-port 4899 via rl1
03000 allow icmp from any to any icmptypes 0,8,11
03100 allow tcp from any to 195.XXX.XXX.XXX dst-port 22 via rl1
03200 allow tcp from any to any via rl0
03300 allow udp from any to any via rl0
03400 allow icmp from any to any via rl0
03500 deny ip from any to any
65535 allow ip from any to any
ОЧЕНЬ НАДЕЮСЬ НА ВАШУ ПОМОШЬ!!!
Возникла необходимость предоставить доступ к терминальному серверу, а так же к ресурсам локальной сети по средствам VPN. MPD настраивал по статье на этом сайте.
Имеем шлюз на FreeBSD 5.5 и MPD.
Проблема в седующем: Всё сделал, настроил MPD, при подключении связь устанавливается, пинг до терменального сервера внутри сети идет но набрав его IP в клиенте терминала соединение не происходит также нет доступа к внутренним локальным ресурсам хотя пинг до всех серверов идет нормально. Как это можно исправить?
Подскажите какие правила добавить в IPFW и под каким намером?
Эксперементировать нет вожможности т.к. все настраиваю на рабочем сервере!!!
rl1 - 195.XXX.XXX.XXX-внешний адрес
rl0 - 192.168.111.0/24-Локальная сеть
ng* - 192.168.100.0/24-Адреса которые выдаются vpn клиентам.
В ядро вкючены следуюшие функции:
Код:
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPFIREWALL_FORWARD
options IPDIVERT
options NETGRAPH
options NETGRAPH_BPF
options NETGRAPH_IFACE
options NETGRAPH_KSOCKET
options NETGRAPH_MPPC_ENCRYPTION
options NETGRAPH_PPP
options NETGRAPH_PPTPGRE
options NETGRAPH_SOCKET
options NETGRAPH_VJC
options NETGRAPH_ETHER
options NETGRAPH_SOCKET
options NETGRAPH_TEE
mpd.conf
Код:
default:
load pptp0
load pptp1
load pptp2
pptp0:
new -i ng0 pptp0 pptp0
set ipcp ranges 192.168.100.1/24 192.168.100.100/24
load pptp_standart
pptp1:
new -i ng1 pptp1 pptp1
set ipcp ranges 192.168.100.1/24 192.168.100.101/24
load pptp_standart
pptp2:
new -i ng2 pptp2 pptp2
set ipcp ranges 192.168.100.1/24 192.168.100.102/24
load pptp_standart
pptp_standart:
set iface disable on-demand
set bundle disable multilink
set link yes acfcomp protocomp
set link no pap chap
set link enable chap
set link keep-alive 60 180
set ipcp yes vjcomp
set iface enable proxy-arp
set bundle enable compression
set ccp yes mppc
set ccp yes mpp-e40
set ccp yes mpp-e128
set ccp yes mpp-stateless
set bundle yes crypt-reqd
set pptp self 195.XXX.XXX.XXX
set pptp enable incoming
set pptp disable originate
mpd.links
Код:
pptp0:
set link type pptp
pptp1:
set link type pptp
pptp2:
set link type pptp
mpd.secret
Код:
user "testpassword" 192.168.100.100
#ipfw list
00100 check-state
00200 allow ip from any to any via lo0
00300 deny ip from any to 10.0.0.0/8 in via rl1
00400 deny ip from any to 172.16.0.0/12 in via rl1
00600 deny ip from any to 0.0.0.0/8 in via rl1
00700 deny ip from any to 169.254.0.0/16 in via rl1
00800 deny ip from any to 240.0.0.0/4 in via rl1
00900 deny icmp from any to any frag
01000 deny log logamount 1000 icmp from any to 255.255.255.255 in via rl1
01100 deny log logamount 1000 icmp from any to 255.255.255.255 out via rl1
01140 allow tcp from any 1723 to any via rl0
01150 allow tcp from any to me dst-port 1723
01160 allow gre from any to any
01300 fwd 127.0.0.1,3128 tcp from 192.168.111.0/24 to any dst-port 80,443 via rl1
01310 divert 8668 ip from 192.168.100.0/24 to any out via rl1
01400 divert 8668 ip from 192.168.111.0/24 to any out via rl1
01500 divert 8668 ip from any to 195.XXX.XXX.XXX in via rl1
01600 deny ip from 10.0.0.0/8 to any out via rl1
01700 deny ip from 172.16.0.0/12 to any out via rl1
01900 deny ip from 0.0.0.0/8 to any out via rl1
02000 deny ip from 169.254.0.0/16 to any out via rl1
02100 deny ip from 224.0.0.0/4 to any out via rl1
02200 deny ip from 240.0.0.0/4 to any out via rl1
02300 allow tcp from any to any established
02400 allow ip from 195.XXX.XXX.XXX to any out xmit rl1
02500 allow udp from any 53 to any via rl1
02600 allow tcp from any 3389 to any via rl1
02700 allow tcp from any to any dst-port 3389 via rl1
02800 allow tcp from any 4899 to any via rl1
02900 allow tcp from any to any dst-port 4899 via rl1
03000 allow icmp from any to any icmptypes 0,8,11
03100 allow tcp from any to 195.XXX.XXX.XXX dst-port 22 via rl1
03200 allow tcp from any to any via rl0
03300 allow udp from any to any via rl0
03400 allow icmp from any to any via rl0
03500 deny ip from any to any
65535 allow ip from any to any
ОЧЕНЬ НАДЕЮСЬ НА ВАШУ ПОМОШЬ!!!
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
-
- сержант
- Сообщения: 194
- Зарегистрирован: 2006-08-16 16:33:55
- Откуда: Санкт-Петербург
в общем нашел сие в нете, поэтому на вопросы ответить не смогу, на аффтарство не претендую. в файл mpd.conf добавляются след строки
set iface up-script /usr/local/etc/billing/up-script
set iface down-script /usr/local/etc/billing/down-script
эти файлы представляют из себя следующее
cat /usr/local/etc/billing/up-script
#!/usr/bin/perl
use strict;
$|=1;
my $username = $ARGV[4];
my @rule_numbers;
my $user_ip;
my $logmsg = '/usr/local/billing/vpn/logmsg.pl';
my $user_if;
my $er_if;
my @a;
if($username eq 'mpd_vpn!'){
@rule_numbers = ('350', '351', '1', '2');
$user_ip = '192.168.25.10';
}elsif($username eq 'mpd_UzeR_ZaDniY'){
@rule_numbers = ('9', '10', '3', '4');
$user_ip = '192.168.25.11';
}elsif($username eq 'mpd_UzeR_T5KoFF'){
@rule_numbers = ('354', '355', '5', '6');
$user_ip = '192.168.25.12';
}elsif($username eq 'mpd_UzeR_!oHA'){
@rule_numbers = ('356', '357', '7', '8');
$user_ip = '192.168.25.13';
}elsif($username eq 'mpd_UzeR_Bss'){
@rule_numbers = ('358', '359', '9', '10');
$user_ip = '192.168.25.14';
}elsif($username eq 'mpd_UzeR_DA'){
@rule_numbers = ('360', '361', '11', '12');
$user_ip = '192.168.25.15';
}else{
`$logmsg "$username connected!"`;
}
@a=`ifconfig | grep -E '^ng.*1500' | awk -F: '{print $1}'`;
$er_if = substr ($a[0],2,1);
$er_if = $er_if-1;
$user_if = "ng" . $er_if;
print "$user_if";
#allow this user and set traffic counters for him
sub ipfw_init {
`ipfw add $rule_numbers[0] allow udp from $user_ip to any via $user_if`;
`ipfw add $rule_numbers[1] allow tcp from $user_ip to any via $user_if`;
`ipfw add $rule_numbers[2] count ip from any to $user_ip`;
`ipfw add $rule_numbers[3] count ip from $user_ip to any`;
}
#sub ipfw_init {
# `ipfw add $rule_numbers[0] allow ip from any to $user_ip via $user_if`;
# `ipfw add $rule_numbers[1] allow ip from $user_ip to any via $user_if`;
# `ipfw add $rule_numbers[0] allow gre from $user_ip to me`;
# `ipfw add $rule_numbers[1] allow gre from me to $user_ip`;
# `ipfw add $rule_numbers[2] count tcp from any to $user_ip`;
# `ipfw add $rule_numbers[3] count tcp from $user_ip to any`;
#}
&ipfw_init();
`$logmsg "user=$username action=connect"`;
cat /usr/local/etc/billing/down-script
#!/usr/bin/perl -w
use strict;
$|=1;
my $username = $ARGV[2];
my @rule_numbers;
my $cost;
my $correction;
my $path_to_logs = '/usr/local/billing/vpn/logs/';
my $logmsg = '/usr/local/billing/vpn/logmsg.pl';
if($username eq 'mpd_vpn!'){
@rule_numbers = ('350', '351', '1', '2');
$cost = 25;
$correction = 1;
}elsif($username eq 'mpd_UzeR_ZaDniY'){
@rule_numbers = ('9', '10', '3', '4');
$cost = 25;
$correction = 1;
}elsif($username eq 'mpd_UzeR_TFF'){
@rule_numbers = ('354', '355', '5', '6');
$cost = 25;
$correction = 1;
}elsif($username eq 'mpd_UzeR_!GA'){
@rule_numbers = ('356', '357', '7', '8');
$cost = 25;
$correction = 1;
}elsif($username eq 'mpd_UzeR_B0'){
@rule_numbers = ('358', '359', '9', '10');
$cost = 25;
$correction = 1;
}elsif($username eq 'mpd_UzeR_DnA'){
@rule_numbers = ('360', '361', '11', '12');
$cost = 25;
$correction = 1;
}else{
`$logmsg "$username disconnected!"`;
}
sub save_stats {
my $download = `ipfw -a list $rule_numbers[2]`;
my $upload = `ipfw -a list $rule_numbers[3]`;
my @splitted_download = split(/\s+/, $download);
my @splitted_upload = split(/\s+/, $upload);
my $session_cost = ($splitted_download[2] + $splitted_upload[2]) / 1024 / 1024 * $cost * $correction;
open(STATS, ">>" . $path_to_logs . $username . ".stats") or `$logmsg "Couldn't open STATS, while
saving_stats. Reason: $!`;
print STATS scalar localtime() . " download=$splitted_download[2] upload=$splitted_upload[2]\n";
print STATS "Session cost: $session_cost";
print STATS "\n\n";
close(STATS);
`$logmsg "user=$username action=disconnect session_cost=$session_cost"`;
}
sub clean_ipfw {
`ipfw delete $rule_numbers[0]`;
`ipfw delete $rule_numbers[1]`;
`ipfw delete $rule_numbers[2]`;
`ipfw delete $rule_numbers[3]`;
}
&save_stats();
&clean_ipfw();
упоменаемый здесь logmsg.pl выглядит так
#!/usr/bin/perl -w
$|=1;
my $path_to_logs = '/usr/local/billing/vpn/logs/';
sub logmsg{
$logmessage = "#$0#$$#@_#" . scalar localtime() . "\n";
open (LOG, ">>" . $path_to_logs . "logfile");
print LOG $logmessage;
close(LOG);
}
logmsg shift;
в общем все просто. в mpd.secret есть пользователи с прописанными им айпи. mpd.conf читает файлы скриптов на перл, которые поднимают или убивают правила ipfw, logmsg пишит логи. если подключается пользователь, имя которого есть во-первых в mpd.secret а во-вторых в up-script - запускаются соответствующие несколько правил, когда он отключается- эти правила вырубаются. все просто и красиво.
ну в общем надо подправить пути- и все путем. как уже говорил-скрипты не мои-если не работают-ничем не могу. у меня заработали сразу
set iface up-script /usr/local/etc/billing/up-script
set iface down-script /usr/local/etc/billing/down-script
эти файлы представляют из себя следующее
cat /usr/local/etc/billing/up-script
#!/usr/bin/perl
use strict;
$|=1;
my $username = $ARGV[4];
my @rule_numbers;
my $user_ip;
my $logmsg = '/usr/local/billing/vpn/logmsg.pl';
my $user_if;
my $er_if;
my @a;
if($username eq 'mpd_vpn!'){
@rule_numbers = ('350', '351', '1', '2');
$user_ip = '192.168.25.10';
}elsif($username eq 'mpd_UzeR_ZaDniY'){
@rule_numbers = ('9', '10', '3', '4');
$user_ip = '192.168.25.11';
}elsif($username eq 'mpd_UzeR_T5KoFF'){
@rule_numbers = ('354', '355', '5', '6');
$user_ip = '192.168.25.12';
}elsif($username eq 'mpd_UzeR_!oHA'){
@rule_numbers = ('356', '357', '7', '8');
$user_ip = '192.168.25.13';
}elsif($username eq 'mpd_UzeR_Bss'){
@rule_numbers = ('358', '359', '9', '10');
$user_ip = '192.168.25.14';
}elsif($username eq 'mpd_UzeR_DA'){
@rule_numbers = ('360', '361', '11', '12');
$user_ip = '192.168.25.15';
}else{
`$logmsg "$username connected!"`;
}
@a=`ifconfig | grep -E '^ng.*1500' | awk -F: '{print $1}'`;
$er_if = substr ($a[0],2,1);
$er_if = $er_if-1;
$user_if = "ng" . $er_if;
print "$user_if";
#allow this user and set traffic counters for him
sub ipfw_init {
`ipfw add $rule_numbers[0] allow udp from $user_ip to any via $user_if`;
`ipfw add $rule_numbers[1] allow tcp from $user_ip to any via $user_if`;
`ipfw add $rule_numbers[2] count ip from any to $user_ip`;
`ipfw add $rule_numbers[3] count ip from $user_ip to any`;
}
#sub ipfw_init {
# `ipfw add $rule_numbers[0] allow ip from any to $user_ip via $user_if`;
# `ipfw add $rule_numbers[1] allow ip from $user_ip to any via $user_if`;
# `ipfw add $rule_numbers[0] allow gre from $user_ip to me`;
# `ipfw add $rule_numbers[1] allow gre from me to $user_ip`;
# `ipfw add $rule_numbers[2] count tcp from any to $user_ip`;
# `ipfw add $rule_numbers[3] count tcp from $user_ip to any`;
#}
&ipfw_init();
`$logmsg "user=$username action=connect"`;
cat /usr/local/etc/billing/down-script
#!/usr/bin/perl -w
use strict;
$|=1;
my $username = $ARGV[2];
my @rule_numbers;
my $cost;
my $correction;
my $path_to_logs = '/usr/local/billing/vpn/logs/';
my $logmsg = '/usr/local/billing/vpn/logmsg.pl';
if($username eq 'mpd_vpn!'){
@rule_numbers = ('350', '351', '1', '2');
$cost = 25;
$correction = 1;
}elsif($username eq 'mpd_UzeR_ZaDniY'){
@rule_numbers = ('9', '10', '3', '4');
$cost = 25;
$correction = 1;
}elsif($username eq 'mpd_UzeR_TFF'){
@rule_numbers = ('354', '355', '5', '6');
$cost = 25;
$correction = 1;
}elsif($username eq 'mpd_UzeR_!GA'){
@rule_numbers = ('356', '357', '7', '8');
$cost = 25;
$correction = 1;
}elsif($username eq 'mpd_UzeR_B0'){
@rule_numbers = ('358', '359', '9', '10');
$cost = 25;
$correction = 1;
}elsif($username eq 'mpd_UzeR_DnA'){
@rule_numbers = ('360', '361', '11', '12');
$cost = 25;
$correction = 1;
}else{
`$logmsg "$username disconnected!"`;
}
sub save_stats {
my $download = `ipfw -a list $rule_numbers[2]`;
my $upload = `ipfw -a list $rule_numbers[3]`;
my @splitted_download = split(/\s+/, $download);
my @splitted_upload = split(/\s+/, $upload);
my $session_cost = ($splitted_download[2] + $splitted_upload[2]) / 1024 / 1024 * $cost * $correction;
open(STATS, ">>" . $path_to_logs . $username . ".stats") or `$logmsg "Couldn't open STATS, while
saving_stats. Reason: $!`;
print STATS scalar localtime() . " download=$splitted_download[2] upload=$splitted_upload[2]\n";
print STATS "Session cost: $session_cost";
print STATS "\n\n";
close(STATS);
`$logmsg "user=$username action=disconnect session_cost=$session_cost"`;
}
sub clean_ipfw {
`ipfw delete $rule_numbers[0]`;
`ipfw delete $rule_numbers[1]`;
`ipfw delete $rule_numbers[2]`;
`ipfw delete $rule_numbers[3]`;
}
&save_stats();
&clean_ipfw();
упоменаемый здесь logmsg.pl выглядит так
#!/usr/bin/perl -w
$|=1;
my $path_to_logs = '/usr/local/billing/vpn/logs/';
sub logmsg{
$logmessage = "#$0#$$#@_#" . scalar localtime() . "\n";
open (LOG, ">>" . $path_to_logs . "logfile");
print LOG $logmessage;
close(LOG);
}
logmsg shift;
в общем все просто. в mpd.secret есть пользователи с прописанными им айпи. mpd.conf читает файлы скриптов на перл, которые поднимают или убивают правила ipfw, logmsg пишит логи. если подключается пользователь, имя которого есть во-первых в mpd.secret а во-вторых в up-script - запускаются соответствующие несколько правил, когда он отключается- эти правила вырубаются. все просто и красиво.
ну в общем надо подправить пути- и все путем. как уже говорил-скрипты не мои-если не работают-ничем не могу. у меня заработали сразу
- sidor-r
- мл. сержант
- Сообщения: 145
- Зарегистрирован: 2006-09-05 9:50:17
- Контактная информация:
-
- сержант
- Сообщения: 194
- Зарегистрирован: 2006-08-16 16:33:55
- Откуда: Санкт-Петербург
дак это лучше- это скрипты, которые сами добавляют динамически правила при подключении пользователей и сами же их удаляют при их отключении. если хорошо подумать то из этих скриптов можно понять, какие правила надо прописывать. если не можешь этого сделать- тогда лучше не заморачивайся с mpd, а поставь ppptd- на этом сайте есть оч. хор статья, предельно простая
З.Ы. хотел как лучше.....
З.Ы. хотел как лучше.....
- sidor-r
- мл. сержант
- Сообщения: 145
- Зарегистрирован: 2006-09-05 9:50:17
- Контактная информация:
- sidor-r
- мл. сержант
- Сообщения: 145
- Зарегистрирован: 2006-09-05 9:50:17
- Контактная информация:
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
sidor-r писал(а):добавил правило и всё заработало как мне надо
01170 allow tcp from any to any via ng0
01180 allow udp from any to any via ng0
Но возник второй вопрос: Какое создать правило чтоб не добовлять для каждого vpn интерфейса (ng1...ng100) отдельное правило?
Код: Выделить всё
01170 allow tcp from any to any via ng*
01180 allow udp from any to any via ng*
- sidor-r
- мл. сержант
- Сообщения: 145
- Зарегистрирован: 2006-09-05 9:50:17
- Контактная информация:
на это мне ответилdikens3 писал(а):Так и пишешь ng*Код: Выделить всё
01170 allow tcp from any to any via ng* 01180 allow udp from any to any via ng*
ipfw: Нет соответствий
Что это значит?
-
- сержант
- Сообщения: 194
- Зарегистрирован: 2006-08-16 16:33:55
- Откуда: Санкт-Петербург
попробуй все же скрипты, которые я прислал- они ведь специально для решения этой проблемы и были написаны. в ipfw.conf будут ДИНАМИЧЕСКИ добавляться правила и не надо будет прописывать туда все свои интерфейсы. а это насколько я понимаю еще плохо с точки зрения длины проверки входящих и исходящих пакетов (чем меньше правил- тем быстрее). удачи
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
на это мне ответил
ipfw: Нет соответствий
Что это значит?
Код: Выделить всё
# cat 222.sh
#!/usr/local/bin/bash
ipfw -q add deny all from any to any via ng*
Попробуй так:
Код: Выделить всё
ipfw -q add deny all from any to any via ng\*
- sidor-r
- мл. сержант
- Сообщения: 145
- Зарегистрирован: 2006-09-05 9:50:17
- Контактная информация:
вот так получилосьdikens3 писал(а): Попробуй так:Код: Выделить всё
ipfw -q add deny all from any to any via ng\*
спасибо бальшое!!!