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