搭建pppoe server,使用vlan网卡监听
1、安装pppoe
环境
Ubuntu 22.04.3 LTS
网卡情况:ens4f1:访问外网的网卡
ens5f3:用于PPPoe连接
安装软件包
sudo apt-get install pppoe-server
sudo apt-get install pppoe
修改配置
vim /etc/ppp/options
找到 # ms-dns 并去掉注释,改为实际可用的 DNS 服务器地址,如 114.114.114.114或8.8.8.8 等通用 DNS;
注释+pap,取消注释-pap;(禁用pcap认证方式);
取消注释+chap,注释-chap(PAP 和 CHAP 为两种不同的认证协议)。
vim /etc/ppp/chap-secrets
修改文件内容如下:
# Secrets for authentication using CHAP
# client server secret IP addresses
user1 * 123abd *
client表示用户名为pppoe,server服务器名为任意,secret密码为12345678,IP addresses为任意的IP
注意:建议账户,密码小于6位
sudo vim /etc/ppp/pppoe-server-options
如果文件不存在则创建,内容为:
auth
require-chap
logfile /var/log/pppd.log
启用IP转发规则
直接配置forward:
echo 1 > /proc/sys/net/ipv4/ip_forward
注意:这样的修改只是临时的,重启后上述设置将恢复原状。
如果要实现持久的设置,请使用如下方法:
vim /etc/sysctl.conf
然后将net.ipv4.ip_forward=1
的注释取消。
检查是否配置成功:
cat /proc/sys/net/ipv4/ip_forward
启用配置:
sysctl -p
配置iptables
使用下面的命令实现NAT转发功能:
sudo iptables -t nat -A POSTROUTING -o ens4f1 -j MASQUERADE
查看iptables中的nat表:
sudo iptables -t nat -S
可以使用iptables-save和iptables-restore实现iptables规则的持久化。
iptables -t nat -nL // 可以查看当前所有net规则转发功能
iptables -t nat -D POSTROUTING 3 //删除POSTROUTING队列第3条规则
iptables -t nat -D POSTROUTING 1 //删除POSTROUTING队列第1条规则
增加vlan
在用于pppoe链接的网卡上增加两层vlan
[root]# ip link add link ens5f3 name ens5f3.100 type vlan id 100
[root]# ip link add link ens5f3.100 name ens5f3.100100 type vlan id 100
[root]# ip addr add 192.168.1.1/24 dev ens5f3.100 brd +
[root]# ip addr add 192.168.2.1/24 dev ens5f3.100100 brd +
[root]# ip link set ens5f3.100 up
[root]# ip link set ens5f3.100100 up
查看vlan
[root]# ip link show
[root]# ip addr show
删除vlan
[root]# ip link delete ens5f3.100 type vlan
启动PPPoe Server
使用下面命令启动PPPoe Server:
sudo pppoe-server -I ens5f3.100100 -L 192.168.61.128 -R 192.168.61.129 -N 1000
参数:
-I:指定PPPoe Server使用网卡
-L:指定PPPoe Server使用的IP地址,此IP地址不是网卡的IP地址,而是PPPOE服务器的虚拟IP,和实际网卡ens5f3.100100的地址无关,实际网卡没有IP也可以
-R:指定给PPPoe Client分配的IP的起始地址
-N:指定PPPoe Server可以接受的最大客户端数量
PPPoe Server启动后,我们可以在/var/log/pppd.log
查看日志输出,包括用户的认证日志。
若拨号出现问题,建议在server端转包查找问题