Abadd0N
25-09-2012, 23:08
Ситуация такая:
Провайдер билайн, в качестве впн клиента (L2TP) использую mpd, собственно его же использую и в качестве ната на внешний интерфейс, а проброс портов возложил на pf.
Проблема 1: (по сути не столь критичная, но если кто сталкивался, был бы не прочь услышать мнение): при использовании pf в качестве ната на внешний интерфейс (который создает mpd) постоянно дисконнектит инет, чуть ли не каждые 5 минут (хотя при использовании mpd всё работает и натится отлично).
Проблема 2: Не работает проброс портов, который осуществляется pf, хотя если посмотреть в лог пакет фильтра, проброс происходит, но на тачку на которую осуществляется проброс ничего не приходит.
На данный момент uname:
$ uname -a
FreeBSD serv 9.1-PRERELEASE FreeBSD 9.1-PRERELEASE #0: Sun Sep 23 16:02:34 NOVT 2012 adm@serv:/usr/obj/usr/src/sys/mykern120923 amd64
Те же проблемы испытывал и на stable ветке 9.0
rc.conf
keymap="ru.koi8-r.win.kbd"
dumpdev="AUTO"
synchronous_dhclient="YES"
defaultrouter="10.59.0.1"
ifconfig_em1="DHCP"
ifconfig_em0="inet 192.168.1.1 netmask 255.255.0.0"
hostname="serv"
pf_enable="YES"
pf_rules="/etc/pf.conf"
pflog_enable="YES"
pflog_logfile="/var/log/pflog"
pfsync_enable="NO" # Expose pf state to other hosts for syncing
pfsync_syncdev="" # Interface for pfsync to work through
pfsync_syncpeer="" # IP address of pfsync peer host
pfsync_ifconfig=""
ftpproxy_enable="YES"
ftpproxy_flags="-D 0"
mpd_enable="YES"
mpd_flags="-b"
sshd_enable="YES"
apache22_enable="YES"
mysql_enable="YES"
mysql_limits="NO"
mysql_dbdir="/var/db/mysql"
mysql_args="--log"
linux_enable="YES"
accounting_enable="YES"
pf.conf
###########################
# Variables #
#+++++++++++++++++++++++++#
int_if="em0"
ext_if="em1"
vpn_if="ng0"
desk="192.168.1.2"
intnet="192.168.0.0/16"
#+++++++++++++++++++++++++#
#set block-policy return
set skip on lo
#scrub all
#set optimization aggressive
#scrub in all fragment reassemble
#scrub out all random-id max-mss 1400
nat on $ext_if from $int_if:network to $ext_if:network -> ($ext_if) #проброс в локальную сеть провайдера
#nat on $vpn_if from $int_if:network to any -> ($vpn_if)
rdr pass log on $vpn_if proto tcp from any to any port 18888 -> 192.168.1.2 port 18888
rdr pass log on $vpn_if proto tcp from any to any port 80 -> 192.168.1.3 port 80
rdr pass log on $vpn_if proto tcp from any to ($vpn_if) port 81 -> 192.168.1.3 port 80
pass all
mpd5.conf
startup:
#Log sobitiy
log +ALL -EVENTS -FRAME
default:
load L2TP
#load PPTP
L2TP:
create bundle static L2TP
set ipcp no vjcomp
set iface idle 0
set iface enable nat
set iface enable tcpmssfix
set iface up-script /usr/local/etc/mpd5/up.sh
set iface down-script /usr/local/etc/mpd5/down.sh
create link static L2 l2tp
set link action bundle L2TP
# set link mtu 1400
set link mtu 1460
set link latency 0
set link max-redial 0
set link redial-delay 60
set link accept chap
set link keep-alive 10 75
set l2tp peer tp.internet.beeline.ru
set auth authname login
set auth password passwd
open
Провайдер билайн, в качестве впн клиента (L2TP) использую mpd, собственно его же использую и в качестве ната на внешний интерфейс, а проброс портов возложил на pf.
Проблема 1: (по сути не столь критичная, но если кто сталкивался, был бы не прочь услышать мнение): при использовании pf в качестве ната на внешний интерфейс (который создает mpd) постоянно дисконнектит инет, чуть ли не каждые 5 минут (хотя при использовании mpd всё работает и натится отлично).
Проблема 2: Не работает проброс портов, который осуществляется pf, хотя если посмотреть в лог пакет фильтра, проброс происходит, но на тачку на которую осуществляется проброс ничего не приходит.
На данный момент uname:
$ uname -a
FreeBSD serv 9.1-PRERELEASE FreeBSD 9.1-PRERELEASE #0: Sun Sep 23 16:02:34 NOVT 2012 adm@serv:/usr/obj/usr/src/sys/mykern120923 amd64
Те же проблемы испытывал и на stable ветке 9.0
rc.conf
keymap="ru.koi8-r.win.kbd"
dumpdev="AUTO"
synchronous_dhclient="YES"
defaultrouter="10.59.0.1"
ifconfig_em1="DHCP"
ifconfig_em0="inet 192.168.1.1 netmask 255.255.0.0"
hostname="serv"
pf_enable="YES"
pf_rules="/etc/pf.conf"
pflog_enable="YES"
pflog_logfile="/var/log/pflog"
pfsync_enable="NO" # Expose pf state to other hosts for syncing
pfsync_syncdev="" # Interface for pfsync to work through
pfsync_syncpeer="" # IP address of pfsync peer host
pfsync_ifconfig=""
ftpproxy_enable="YES"
ftpproxy_flags="-D 0"
mpd_enable="YES"
mpd_flags="-b"
sshd_enable="YES"
apache22_enable="YES"
mysql_enable="YES"
mysql_limits="NO"
mysql_dbdir="/var/db/mysql"
mysql_args="--log"
linux_enable="YES"
accounting_enable="YES"
pf.conf
###########################
# Variables #
#+++++++++++++++++++++++++#
int_if="em0"
ext_if="em1"
vpn_if="ng0"
desk="192.168.1.2"
intnet="192.168.0.0/16"
#+++++++++++++++++++++++++#
#set block-policy return
set skip on lo
#scrub all
#set optimization aggressive
#scrub in all fragment reassemble
#scrub out all random-id max-mss 1400
nat on $ext_if from $int_if:network to $ext_if:network -> ($ext_if) #проброс в локальную сеть провайдера
#nat on $vpn_if from $int_if:network to any -> ($vpn_if)
rdr pass log on $vpn_if proto tcp from any to any port 18888 -> 192.168.1.2 port 18888
rdr pass log on $vpn_if proto tcp from any to any port 80 -> 192.168.1.3 port 80
rdr pass log on $vpn_if proto tcp from any to ($vpn_if) port 81 -> 192.168.1.3 port 80
pass all
mpd5.conf
startup:
#Log sobitiy
log +ALL -EVENTS -FRAME
default:
load L2TP
#load PPTP
L2TP:
create bundle static L2TP
set ipcp no vjcomp
set iface idle 0
set iface enable nat
set iface enable tcpmssfix
set iface up-script /usr/local/etc/mpd5/up.sh
set iface down-script /usr/local/etc/mpd5/down.sh
create link static L2 l2tp
set link action bundle L2TP
# set link mtu 1400
set link mtu 1460
set link latency 0
set link max-redial 0
set link redial-delay 60
set link accept chap
set link keep-alive 10 75
set l2tp peer tp.internet.beeline.ru
set auth authname login
set auth password passwd
open