我相信很多人不知道路由器其实是基于的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配置一下。
评论