Linux How to Build PPPOE Server

继上次的L2TP VPN后,突发奇想,要是自己做个小运营商那岂不是每个月都有收入,于是我就建了一台PPPOE服务器提供收费上网服务给舍友ヾ(´▽‘)ノ

一、准备一台Centos7服务器
二、两块网卡,A网卡连接外网(桥接),B网卡连接内网(hostonly),B网卡需要手动设置IP

准备工作做完后,继续以下操作

三、更新系统并安装pppoe软件
1
2
yum -y upgrade   
yum -y install rp-pppoe*
四、配置pppoe-server-options
1
2
3
4
5
6
7
8
9
10
11
vi /etc/ppp/pppoe-server-options
添加或替换成以下内容
# PPP options for the PPPoE server
# LIC: GPL
require-chap
require-pap
lcp-echo-interval 60
lcp-echo-failure 5
ms-dns 223.5.5.5
ms-dns 223.6.6.6
logfile /var/log/pppd.log
五、配置options
1
2
3
4
5
6
vi /etc/ppp/options

添加以下内容

auth
lock
六、添加用户名和密码
1
2
3
4
5
6
7
8
9
10
vi /etc/ppp/chap-secrets

# client server secret IP addresses
test * test *

vi /etc/ppp/pap-secrets
# client server secret IP addresses
test * test *

用户名和密码也可以是纯数字
七、做NAT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
开启NAT转发

firewall-cmd --permanent --zone=public --add-masquerade

开放DNS使用的53端口,否则可能导致内网服务器虽然设置正确的DNS,但是依然无法进行域名解析。

firewall-cmd --zone=public --add-port=53/tcp --permanent

重新加载firewalld

firewall-cmd --reload

如果是iptables的话,可以这么添加rule

iptables -A POSTROUTING -t nat -s 10.10.10.0/32 -j MASQUERADE

echo "1" >> /proc/sys/net/ipv4/ip_forward //打开转发

sysctl -w net.ipv4.ip_forward=1 //修改转发文件,要不然一重启就还原了
八、启动PPPOE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
systemctl restart pppoe-server

pppoe-server -I ens37 -L 10.10.10.1 -R 10.10.10.100-200 -N 1

ens37 就是服务器B网卡(hostonly),不知道的话,可以用ifconfig查看

-I 参数用于指定监听哪个网络端口。可以使用ifconfig命令查看当前工作的端口名称。

-L 参数用于指定在一个PPP连接中,PPPoE服务器的IP地址。由于本人假设的以太网网络地址为10.10.10.0/32
  所以就使用网络地址的第一个IP地址作为服务器的地址了。

-R 参数用于指定当有客户连接到服务器上时,从哪个IP地址开始分配给客户。

-N 参数用于指定至多可以有多少个客户同时连接到本服务器上。
九、总结

以上配置挺顺利的,唯一一点就是PPPOE的网关一定不能设置成254,只能设置为1,切记,如果设置成254的话,会导致无法上网。

文章目录
  1. 1. 一、准备一台Centos7服务器
  2. 2. 二、两块网卡,A网卡连接外网(桥接),B网卡连接内网(hostonly),B网卡需要手动设置IP
  3. 3. 三、更新系统并安装pppoe软件
  4. 4. 四、配置pppoe-server-options
  5. 5. 五、配置options
  6. 6. 六、添加用户名和密码
  7. 7. 七、做NAT
  8. 8. 八、启动PPPOE
  9. 9. 九、总结


本站总访问量 本文总阅读量