用Linux做路由器(篇一)PPPoE篇+DHCP

用Linux做路由器(篇一)PPPoE篇+DHCP

dkm
dkm
2022-03-19 / 0 评论 / 30 阅读 / 正在检测是否收录...

我相信很多人不知道路由器其实是基于的Linux内核(大多数都是,有部分是基于的BSD);Linux原生就可以做路由器用,这个其实不稀奇,这里讲Linux做路由器的篇一文章,PPPoE+DHCP配置。(然后还有群友说vxworks,那我就把vxworks也加上去吧)p:三次筛查

Linux版本不限,我就用CentOS6做路由器吧。

CentOS6还是CentOS7都可以做,只是看个人喜好,我认为路由器用CentOS6完全够了用

首先我创建一个PPPoE账号,用于等会的PPPoE的实验
请输入图片描述
然后在CentOS6的界面配置一下网卡,这个很容易;

    cd /etc/sysconfig/network-scripts/
    vi ifcfg-eth1
    vi ifcfg-eth0

onboot=no改成yes,等会要用ssh配置的,所以先开一下内网的接口(新的路由器不也是在内网配置的)
然后重启,获取到地址之后在ssh配置剩下的操作。
如果CentOS6需要的软件没有的话还需要换成CentOS-Valut源才可以正常安装软件。

配置完Valut源后安装pppoe和ppp软件

    yum -y install rp-pppoe ppp

我安装的是PPPoE 3.10
查看版本:

    pppoe -V

    [root@localhost ~]# pppoe -V
    Roaring Penguin PPPoE Version 3.10

紧接着设置接口0,就是PPPoE的那个接口

    pppoe-setup

第一是用户,输入你的PPPoE账号
第二是网卡接口,默认是eth0,我设置的也是eth0接口为PPPoE接口
第三不知道是什么东西,就默认
第四和第五分别是主DNS和备DNS,主DNS设置223.5.5.5,备DNS设置223.6.6.6(如果是宽带的话需要查看DNS服务器,江苏电信的DNS是主:218.4.4.4备用218.6.6.6)注意:真实情况下不需要手动设置DNS,如果手动设置DNS后无法拨号的话就删除ppp0接口的配置信息;
删除pppoe配置命令

    rm -rf /etc/sysconfig/network-scripts/ppp0

第六是输入密码,输入你的PPPoE密码
第七是确认你之前输入的密码
第八普通人能不能断开DSL的连接,选yes
第九是介绍两种模式,0是不设置任何东西,需要自己保证安全性。1是独立机的意思,适用于独立工作站,一般是只有一台机器需要拨号上网的时候使用。2是充当连接上网的网关模式,但是这里建议按0(初学者建议0,因为2的话会出现别的问题,比如重启后无法连接服务器)
第十是设置下一次启动的时候使用这个配置文件,这里填写yes
第十一是保存当前的配置文件,还有下面是保存配置文件的位置

下面是配置的全过程,总共十步。

请输入图片描述

因为重新启用了防火墙,所以需要到服务器上放行22端口(不放行也不能开启SSH)PS:如果之前是设置的0,此步骤可以忽略

    iptables -A INPUT -p tcp -m state --state  NEW  -m tcp --dport 80 -j ACCEPT
    service iptables save
    service iptables restart

放行了22之后再用SSH连接服务器

然后输入pppoe-start启动PPPoE服务器
查看服务器获取的IP

    ifconfig

下面会出现一个ppp0的虚拟接口,并且已经获取到了一个IP地址;注意:这里的255.255.255.255是点对点传输的意思,不代表是子网掩码的意思。

请输入图片描述
PPPoE到这里就结束了,下面配置DHCP服务器
因为虚拟机在创建的时候是设置了三张网卡,所以这里用第三张网卡来设置DHCP服务器,当然你也可以用第二张网卡设置DHCP服务器的,没有限制。
首先 vim /etc/sysconfig/network-scripts/ifcfg-eth2
查看网卡的MAC地址,记录下来,等会需要用到

DEVICE=eth2
HWADDR=00:0C:29:92:C0:7F
TYPE=Ethernet
UUID=fb488b7f-6258-4795-bfd4-f75ad091da28
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp

记得把ONBOOT改成yes,不然开机网卡的down的状态,那就不能分配地址了。

然后我贴出我的DHCP配置文件,顺带解释一下DHCP文件是怎么回事

    ddns-update-style interim;
    ignore client-updates;
    subnet 192.168.199.0 netmask 255.255.255.0 {         #子网掩码和网段
         range 192.168.199.1 192.168.199.200;            #设置分发的范#围1-200(和起始地址是网关)
         option domain-name-servers 223.5.5.5,223.6.6.6; #设置DNS服务器,可以设置多台
         option domain-name "local.dkm.cn";              #设置域名(这一栏可以不要)
         option routers 192.168.199.1;                   #指定设备的网关地址是多少,网关地址可以自定义
         option broadcast-address 192.168.199.255;       #这个是广播地址
         default-lease-time 600;                         #地址默认租期
         max-lease-time 7200;                            #地址最大租期
       }

#后面需要设置dhcpd配置文件的用户所有者

    vim /etc/init.d/dhcpd

#设置里面的

    user=dhcpd
    group=dhcpd

#改为

    user=root
    group=root

#上面的不改,root用户无法启动dhcpd服务;
#设置eth2接口的IP地址

    ifconfig eth2 192.168.199.20 netmask 255.255.255.0

#设置完IP地址后重启网络服务

    service network restart

#然后就设置eth2接口为启用dhcp服务的接口

    dhcpd -cf /etc/dhcp/dhcpd.conf eth2

#下面就重启DHCP服务器;

    service dhcpd restart

请输入图片描述

现在重启完成了,下面查看本机和这个虚拟机网卡同一层下的IP是不是获取到了。
请输入图片描述
很显然,已经获取到了地址;DHCP服务器配置成功。

下期预告,设置外网访问内网的设备,有两种方式:一是NAT,二是iptables转发,顺便再把动态NAT配置一下。

1

评论

博主关闭了所有页面的评论