CCIE
当前位置:网站首页>CCIE
ccna培训教你如何实现pc&路由基本功能
发布日期:2019-08-10 11:14:41 发布者:
    1、实验条件
    (1)、电脑两台:一台装有Linux系统(ubuntu),双网卡;一台windows 7操作系统,单网卡
    (2)、路由器一个:支持DHCP、pppoe以及静态方式上网
    (3)、手机一台,装有IxChariot Endpoint,wifi无线连接公司网络,作为PC2使用。

    设备拓扑结构:

ccie培训

    2、pc实现pppoe服务,供下联设备拨号获取地址
    (1)、安装PPPoe服务器软件
    sudo apt-get install pppoe
    //命令pppoe-server -h 查看软件版本
    (2)、配置pppoe服务器
    在/etc/ppp目录下编辑文件(options、chap-secrets、pppoe-server-options):
    cd /etc/ppp
    sudo vi options
    找到#ms-dns去掉改行注释,改为实际可用的DNS服务器地址,如114.114.114.114或者8.8.8.8等通用DNS;
    sudo vi chap-secrets
    增加如下代码:
    zhangyahai  *  123456  *
    //表示用户名zhangyahai,服务器为任意*,密码为123456,ip为任意的*
    sudo pppoe-server-options
    //此文件不存在就创建该文件,增加以下内容
    require-chap
    logfile /var/log/pppd.log
    (3)、设置IP策略
    开启IP转发功能
    pppoe协议接入控制的主要方式就是通过对IP数据包的封装在转发,所以需要配置PPPoE服务器必须要开启IP转发功能。
    打开/etc/sysctl.conf文件,找到net.ipv4.ip_forward=1所在行,取消该行的注释,随后运行sudo sysctl –p即可打开IP转发功能。
    sudo vi /etc/sysctl.conf
    (4)、配置iptables的IP策略
    该步骤需要在超级用户权限下进行:
    进入root:
    sudo -s -H
    运行:
    iptables -A POSTROUTING -t nat -s 10.10.10.0/24 -o enp3s0 -j MASQUERADE
    //其中10.10.10.0/24是自己想分配的网络号,根据自己的实际需要填写即可;-o enp3s0表示的是服务器连接外网的网卡名字。
    (5)、运行PPPoE服务器
    sudo pppoe-server -I enp5s0 -L 10.10.10.49 -R 10.10.10.50 -N 50——
    其中:-I参数为提供服务的网络端口名称,可以使用ifconfig命令查看当前工作的端口;
    -L参数为一个PPP连接中,PPPoE服务器的IP地址,即当前ubuntu服务器地址;
    -R参数为当有客户连接到服务器时,从哪个地址开始分配;
    -N参数为最多可以有多少个客户同时连接到当前服务器上。
    注:每次重启后,该服务会终断,需要从新运行此命令,可以将此命令作为开机脚本。
    (6)进入路由器,进行pppoe拨号上网,结果如下图所示:
    3、pc提供DHCP服务,供下联设备获取动态地址
    (1)、安装udhcpd
    sudo apt-get install udhcpd
    (2)、为server的两个网卡配置静态ip地址
    (3)、加一条默认路由(网关),才能上外网,,查看此时路由数据:
    sudo ip route add default via 172.17.52.1
    ip route
    (4)、配置地址池、DHCP服务的接口、下级使用的DNS、租约时间等:
    vi  /etc/udhcpd.conf
    作如下修改:
    (5)开启ipv4 ipv6的转发功能:
    这里使用 脚本运行sudo echo 1 > /proc/sys/net/ipv4/conf/all/forwarding:
    或者,使用命令sudo vi /etc/sysctl.conf到指定文件中去修改
    (6)配置NAT:
    iptables -F -t nat;//清空NAT这个表中的所有链
    sudo iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o enp3s0 -j MASQUERADE
    // 处理nat表,在链尾追加规则, POSTROUTING链(在包就要离开防火墙之前改变其源地址),将源地址为192.168.10.0/24,目的地址为WAN口的所有IP包发到MASQUERAE(即将这些地址换成 MASQUERADE动态伪装,它可以实现自动寻找到外网地址,而自动将其改为正确的外网地址)。MASQUERADE是被专门设计用于那些动态获取IP地址的连接比如,拨号上网、DHCP连接等。如果有固定的IP地址,用SNAT target。
    (7)、启动DHCP服务:
    sudo udhcpd –I 192.168.10.1 &
    然后查看启动是否成功
    sudo netstat –uap
    注意启动DHCP服务时,使用root权限,不然有可能启动不起来。
    查看此时路由器web,此时路由器WAN口状态,IP为192.168.10.98,在分配的地址池范围内,终断设备成功动态获取上联设备的分配的地址。
    sudo iptables -t nat -A PREROUTING -p tcp -d 172.17.52.164 -m multiport --dport 80,8080 -j DNAT --to 192.168.10.98:8181
    192.168.10.98是路由器的wan口ip地址,8181是开启路由器的远程管理的端口;172.17.52.164是服务器外网入口ip地址。
    PC2之所以能访问route上的web服务器,是因为在route上,当打开路由器的远程控制时,路由器自动也创建了一条iptables规则,将服务器发送过来的数据转到web服务器。

微信