Это старая версия документа.


FreeBSD Clinet Configuration

PPPoE

/etc/rc.conf

ppp_enable="YES"
ppp_mode="ddial"
ppp_profile="yourisp"

/etc/ppp/ppp.conf

default:
  set log Phase command


yourisp:
   set device PPPoE:vr0
   set authname your_username
   set authkey your_password
   set dial
   set login
   nat enable yes
   add default HISADDR

PPTP

# cd /usr/ports/net/pptpclient
# make install 

/etc/ppp/ppp.conf

default:

pptp:
  set authname your_login
  set authkey your_password
  set device "!/usr/local/sbin/pptp your_vpn_isp_ip --nolaunchpppd"
  set timeout 0
  set ifaddr 0 0
  accept pap
  accept chap
  disable mppe

Port Redirect (ipfw + natd)

Перенаправление портов в внутреннюю сеть.

Конфигурация для natd /etc/natd.conf

same_ports      yes
dynamic yes
#перенаправить все пакеты приходящие на порт 60080 внешнего адреса 
# внутрь сети на адрес 192.168.1.2 с портом 80
redirect_port tcp 192.168.1.2:80 60080

Скрипт для поднятия перенаправления /etc/ppp/redirect.sh

#!/bin/sh

ACTION=$1;  
INTERFACE=tun0

if [ w${ACTION} = wup ]; then
  /sbin/natd -f /etc/natd.conf -n ${INTERFACE}
  /sbin/ipfw add 65010 divert 8668 ip4 from any to any via ${INTERFACE}
else if [ w${ACTION} = wdown ]; then
  /usr/bin/killall -9 natd
  /sbin/ipfw delete 65010
else
 echo "redirect (up|down)"
fi;
fi;

Включение перенаправления при старте ppp /etc/ppp/ppp.linkup

MYADDR:
 !bg /etc/ppp/redirect.sh up

Выключение перенаправления при старте ppp /etc/ppp/ppp.linkdown

MYADDR:
 !bg /etc/ppp/redirect.sh up