User Tools

Site Tools


freebsd_mpd_pppoe
pkg install mpd5
ifconfig
vmx0:
	inet 192.168.200.9 
vmx1:
	...
vi /usr/local/etc/mpd5/mpd.conf
default:
        load pppoe_client

pppoe_client:
        create bundle static B1
        set iface route default
        set ipcp ranges 0.0.0.0/0 0.0.0.0/0
        set iface enable tcpmssfix
        create link static L1 pppoe
        set link action bundle B1
        #логин pppoe
	set auth authname "AUTH_NAME_GIVEN_BY_THE_PROVIDER"
        #пароль pppoe
	set auth password "PASS_GIVEN_BY_THE_PROVIDER"
        set link max-redial 0
        set link mtu 1460
        set link keep-alive 10 60
        #сетевой интерфейс, где будет подключение по pppoe 
	set pppoe iface "vmx1"
        set pppoe service ""
        open
vi /etc/rc.conf
...
mpd_enable="YES"
/usr/local/etc/rc.d/mpd5 start
ifconfig
vmx0:
	inet 192.168.200.9 
	...
vmx1: 
	...
ng0: 
	...
vi /etc/rc.conf
...
pf_enable="YES"
pf_rules="/etc/pf.conf"
vi /etc/pf.conf
ext_if = "ng0"
int_if = "vmx0"

table <local_net> { 192.168.150.0/24 \
                    192.168.151.0/24 }

set skip on lo0
set limit {states 250000, frags 20000, src-nodes 20000}
scrub in all

#($ext_if) ставится в круглых скобках, чтобы 
#гарантировать работу NAT даже если IP адрес этого 
#интерфейса будет динамически меняться
nat pass on $ext_if from <local_net> to any -> ($ext_if)

pass in all
pass out all
block in on $int_if from any to self
pass in on $int_if from {192.168.150.0/24} to self
pass in on $int_if proto icmp from {<local_net>} to $int_if
block in on $ext_if all
/etc/rc.d/pf start

Добавить маршруты

route add -net 192.168.150.0/24 192.168.200.1
route add -net 192.168.151.0/24 192.168.200.1

Добавить маршруты в автозагрузку

vi /etc/rc.conf
...
static_routes="vlan_150 vlan_151"
route_vlan_150="-net 192.168.150.0/24 192.168.150.100"
route_vlan_151="-net 192.168.151.0/24 192.168.150.100"
freebsd_mpd_pppoe.txt · Last modified: 2023/06/24 08:13 by admin