路由器实验之简单交换实现 DHCP配置

目  录

一、内容

二、目的

三、实验设计思想和流程

四、主要数据结构及符号说明

、实验体会

附录(源代码及注释)

一、内容

项目1:

在UM_my/UM.v中使用Verilog语言编写一个模块让NetMagic08实现2口进3口出的基本功能。

项目2:

为两个教室选择合适的网络设备,使得两个房间的终端能自动获得IP地址,并能联通。

项目3:

掌握路由器配置ssh用户的方法

能够使用ssh登录工具进行登录

二、目的

项目1:

1、熟悉NetMagic08的硬件编程方式。

2、基于 NetMagic08 搭建实验环境,包括 NetMagic08 的安装、Quartus 与 NetMagic08的对接。

3、使用 Quartus设计硬件逻辑。

4、了解FPGA编程基础。

项目2:

  1. 使终端能自动获得IP地址,并能联通。

项目3:

6、掌握路由器配置ssh用户的方法

7、能够使用ssh登录工具进行登录

三、实验设计思想

项目1:

在本次实验中使用的是2和3号端口,首先按照实验步骤将实验代码补全,如图所示:

确认无误后先尝试编译运行:

在试运行的期间还发生了软件破解不成功,代码打错等小错误,好在调试还算简单,之后经过了漫长的等待(大约三十分钟),终于如上图运行成功。

接下来就是测试硬件了,在这里我的电脑插上网口后亮红灯证明电脑不是千兆网口所以换了一台电脑进行测试,本图显示两个网口都亮绿灯,硬件条件过关。

下载线选择JTAG口,这样烧程序会更快,如果出现任何问题调试后重新下载也更为方便。

下载成功后的界面如图所示,现在就可以开始尝试ping数据啦。

打开电脑的cmd,输入指令查看本机的ip地址

在另一台主机上输入对应ip地址来ping数据,主机上显示已接受,证明主机A到主机B成功ping通。

 

换个方向再次进行尝试,验证双向ping通,本实验成功完成。

 

项目2:

拓扑图:

 

  1. 基本配置

根据实验编址表进行相应的基本IP地址:配置,由于PC是通过DHCP自动获取地址,暂时无法测试连通性。交换机为二层设备,无需配置IP 地址。

2.基于接口配置DHCPServer功能
在R1上开启DHCP功能。

在R1的GE 0 /0/0 和GE 0/0/1接口上配置dhep select interface 命令,开启接口的DHCP服务功能,指定从接口地址池分配地址。

 接口地址池可动态分配IP 地址,范围就是接口的IP 地址所在网段,且只在此接口下有效。当DHCP 服务器接收到DHCP 客户端的请求报文后,DHCP 服务器将会使用该接口的地址网段给客户端分配地址。

3.配置基于接口的DHCP Server租期/DNS服务器地址

  在R1的GE0/0/0接口上使用dhcpserver lease命令配置DHCP 服务器接口地址池中IP地址的租用有效期限为2天,GE0/0/1接口不修改,使用默认值1天,超过租期后该地址将会重新分配。

  在GE0/0/0 接口上使用dhcp server excluded-ip-address命令配置接口地址池中不参与自动分配的IP地址范围为192.168.1.1到192.168.1.10。

 

有些地址需要分配给其他服务,如DNS服务器或HTTP 服务器等需要手工静态配置的IP地址,就不能再动态分配给客户端使用,可以执行该命令配置地址池中不参与自动分配的IP地址(默认该地址池所有地址参与自动分配,此命令作为可选命令)。
  当DHCP 服务器收到客户端的DHCP请求时,DPCP服务器将会选择地址池中空闲的IP地址分配给客户端。GE 0/0/0 接口地址池中192.168.1.1~192.168.1.10 不参与分配,而GE0/0/1接口没有配置该命令,因此可以分配的IP地址范围是  192.168.2.1~192.168.2.253 (不包括本接口地址)。
  在GE0/0/1接口上使用dhcp server dns-list命令指定接口地址池下的DNS 服务器,为PC-2 自动分配DNS 服务器地址为8.8.8.8。

  1. 配置DHCPClient
    打开PC-1的“基础配置”选项卡,在“IPV4配置”栏中选择“DHCP",然后单击对话框右下角的“应用”按钮,如图12-2 所示。

  

单击PC-1的“命令行”选项卡,在其中输入“ipconfig"命令查看接口的IP地址,如图所示。

  通过观察发现PC-1已经通过DHCPServer 获取到一个IPV4地址192.168.1.249,网关地址为192.168.1.254。

在R1上使用display ip pool 命令查看DHCP地址池中的地址分配情况。


    配置PC-2 时参考配置PC-1的方法,选择通过DHCP 配置地址。

  单击PC-2 中的“命令行”选项卡,在其中输入“ipconfig”命令查看接口的IP地址,如图12-4 所示。

 

  通过观察发现PC-2 已通过DHCP Server 获取到一个IPV4 地址192.168.2.253,网关地址为路由器的接口地址192.168.2.254,DNS 服务器地址为8.8.8.8。DHCP 地址池中的地址分配情况此处省略。

抓包数据:

 

项目3:

  1. 服务器端的配置

用于ssh用户使用password方式验证,需要在ssh服务端生成本地的RSA密钥,因此需生成本地的RAS密钥是完成ssh登录配置的首要操作。

 

①R2上使用以下命令来生成本地的RAS主机密钥对。

[Router]rsa local-key-pair create

The key name will be: Host

% RSA keys defined for Host already exist.

Confirm to replace them? (y/n)[n]:y

The range of public key size is (512 ~ 2048).

NOTES: If the key modulus is greater than 512,

       It will take a few minutes.

Input the bits in the modulus[default = 512]:

Generating keys...

................................++++++++++++

....++++++++++++

.++++++++

............................................++++++++

②查看主机本地密钥对中的公钥部分信息:

[Router]display   rsa  local-key-pair  public  

 

=====================================================

Time of Key pair created: 2016-11-23 19:42:36-08:00

Key name: Host

Key type: RSA encryption Key

=====================================================

Key code:

3047

  0240

    E511E617 39E6FF13 F21010F8 259B70A9 9815213A

    772A481E 03A66398 62571D0F 7F89E56E FC835BFA

    4DBB8A5D ADEA8862 279B1B56 8EF2E820 85C72583

    59B75E25

  0203

    010001

 

=====================================================

Time of Key pair created: 2016-11-23 19:42:40-08:00

Key name: Server

Key type: RSA encryption Key

=====================================================

Key code:

3067

  0260

    AA05FF96 5033DE68 561153E1 0E8C12E7 43F38CCC

    470FF794 DD4BBF06 7B5468B6 782027B8 229CDF39

    CDF7D506 A2A92675 6DF6CAE6 4B384C9F 32F9BE33

    E0C6CA06 204B7713 FE93ED86 BB7FB2A2 CA9B35CB

    59C00CF6 6B77B586 C72DE9FA 49070163

  0203

010001

 

③在Router上配置VTY(虚拟终端)用户界面,设置用户的验证方式为aaa授权验证方式。设置vty 0-4共5个虚拟终端用于ssh的登录,并允许ssh登录。

[Router]user-interface  vty  0 4   

[Router-ui-vty0-4]authentication-mode aaa

[Router-ui-vty0-4]protocol  inbound ssh

④使用local-user命令创建本地用户和用户口令,并以密文的方式显示用户口令。账号为huawei1,密码为111111且接入类型为ssh,同时配置用户的优先级为15,值越大,代表用户的优先级越大。

[Router]aaa

[Router-aaa]local-user huawei1 password  cipher 111111

[Router-aaa]local-user  huawei1 service-type  ssh

[Router-aaa]local-user  huawei1 privilege level 15

 

⑤使用ssh user命令新建ssh用户,并指定ssh用户的认证方式为password,即密码认证方式。

[Router]ssh user  huawei1 authentication-type  password

 Authentication type setted, and will be in effect next time

⑥开启ssh服务器功能。

[Router]stelnet  server  enable

Info: Succeeded in starting the STELNET server.

 

⑦查询ssh服务器全局配置的信息。

[Router]display   ssh  server status

 SSH version                         :1.99  

 SSH connection timeout              :60 seconds

 SSH server key generating interval  :0 hours

 SSH Authentication retries          :3 times

 SFTP Server                         :Disable

 Stelnet server                      :Enable

 

2.客户端的配置

将IP设置为上述IP,或者与上游路由器接口在同一网络的IP即可。利用ssh软件,如secureCRT可在电脑端通过ssh方式登录到路由器。

 

如果在模拟机环境中,可以利用一台路由器作为客户端主机,如下图所示:

 

由于ssh客户端第一次登录到ssh服务器时,用户端还没有保存ssh服务器的RSA公钥,会对RSA的有效性公钥检查失败。因此当客户端首次登录时,需要开启ssh客户端首次认证功能,不对ssh服务器的RSA公钥进行检查。

 

[AR3]ssh  client  first-time  enable

[AR3]stelnet 192.168.1.2

Please input the username:huawei1

Trying 192.168.1.2 ...

Press CTRL+K to abort

Connected to 192.168.1.2 ...

Enter password:

  -----------------------------------------------------------------------------

  User last login information:     

  -----------------------------------------------------------------------------

  Access Type: SSH      

  IP-Address : 192.168.1.1 ssh     

  Time       : 2016-11-23 20:16:56-08:00     

  -----------------------------------------------------------------------------

 

<Router>

在Router上查看ssh服务器端当前的会话连接信息。

[Router]dis ssh  server  session

--------------------------------------------------------------------

 Conn   Ver   Encry     State  Auth-type        Username

--------------------------------------------------------------------

 VTY 0  2.0   AES       run    password         huawei1                         

  • 实验步骤

项目1:

step1.使用Quartus 打开 in2out3目录下的硬件工程项目netFPGAmini-2-3.qar。

step2.在工程项目中,打开文件列表对UM.v文件进行编写(用户模块文件)

Step3. 在UM.v文件中增加一个新的处理逻辑,在一个always@(posedge clk or negedge reset)逻辑中完成端口2进端口3出的硬件设计。

Step4.参考以下代码完成设计

2进3出参考代码

Step5.点击编译命令,对代码进行编译,软件会完成硬件电路的设计和优化,生成和工程名同名的sof文件

Step6.将sof文件下载到NetMagic08中进行硬件调试

项目2:要求,修改上述硬件,使能够做到2号端口进入的数据包向所有端口转发,所有端口进入的包都转发至2号端口。

项目2:

1、完成网络搭建 设置和运行

2、验证自动获取ip情况和联通性

3、通过抓包工具抓取DHCP过程包

项目3:

步骤一:服务器端的配置

用于ssh用户使用password方式验证,需要在ssh服务端生成本地的RSA密钥,因此需生成本地的RAS密钥是完成ssh登录配置的首要操作。

 

①R2上使用以下命令来生成本地的RAS主机密钥对。

[Router]rsa local-key-pair create

The key name will be: Host

% RSA keys defined for Host already exist.

Confirm to replace them? (y/n)[n]:y

The range of public key size is (512 ~ 2048).

NOTES: If the key modulus is greater than 512,

       It will take a few minutes.

Input the bits in the modulus[default = 512]:

Generating keys...

................................++++++++++++

....++++++++++++

.++++++++

............................................++++++++

②查看主机本地密钥对中的公钥部分信息:

[Router]display   rsa  local-key-pair  public  

 

=====================================================

Time of Key pair created: 2016-11-23 19:42:36-08:00

Key name: Host

Key type: RSA encryption Key

=====================================================

Key code:

3047

  0240

    E511E617 39E6FF13 F21010F8 259B70A9 9815213A

    772A481E 03A66398 62571D0F 7F89E56E FC835BFA

    4DBB8A5D ADEA8862 279B1B56 8EF2E820 85C72583

    59B75E25

  0203

    010001

 

=====================================================

Time of Key pair created: 2016-11-23 19:42:40-08:00

Key name: Server

Key type: RSA encryption Key

=====================================================

Key code:

3067

  0260

    AA05FF96 5033DE68 561153E1 0E8C12E7 43F38CCC

    470FF794 DD4BBF06 7B5468B6 782027B8 229CDF39

    CDF7D506 A2A92675 6DF6CAE6 4B384C9F 32F9BE33

    E0C6CA06 204B7713 FE93ED86 BB7FB2A2 CA9B35CB

    59C00CF6 6B77B586 C72DE9FA 49070163

  0203

010001

 

③在Router上配置VTY(虚拟终端)用户界面,设置用户的验证方式为aaa授权验证方式。设置vty 0-4共5个虚拟终端用于ssh的登录,并允许ssh登录。

[Router]user-interface  vty  0 4   

[Router-ui-vty0-4]authentication-mode aaa

[Router-ui-vty0-4]protocol  inbound ssh

④使用local-user命令创建本地用户和用户口令,并以密文的方式显示用户口令。账号为huawei1,密码为111111且接入类型为ssh,同时配置用户的优先级为15,值越大,代表用户的优先级越大。

[Router]aaa

[Router-aaa]local-user huawei1 password  cipher 111111

[Router-aaa]local-user  huawei1 service-type  ssh

[Router-aaa]local-user  huawei1 privilege level 15

 

⑤使用ssh user命令新建ssh用户,并指定ssh用户的认证方式为password,即密码认证方式。

[Router]ssh user  huawei1 authentication-type  password

 Authentication type setted, and will be in effect next time

⑥开启ssh服务器功能。

[Router]stelnet  server  enable

Info: Succeeded in starting the STELNET server.

⑦查询ssh服务器全局配置的信息。

[Router]display   ssh  server status

 SSH version                         :1.99  

 SSH connection timeout              :60 seconds

 SSH server key generating interval  :0 hours

 SSH Authentication retries          :3 times

 SFTP Server                         :Disable

 Stelnet server                      :Enable

 

步骤二、客户端的配置

将IP设置为上述IP,或者与上游路由器接口在同一网络的IP即可。利用ssh软件,如secureCRT可在电脑端通过ssh方式登录到路由器。

如果在模拟机环境中,可以利用一台路由器作为客户端主机

    由于ssh客户端第一次登录到ssh服务器时,用户端还没有保存ssh服务器的RSA公钥,会对RSA的有效性公钥检查失败。因此当客户端首次登录时,需要开启ssh客户端首次认证功能,不对ssh服务器的RSA公钥进行检查。

[AR3]ssh  client  first-time  enable

[AR3]stelnet 192.168.1.2

Please input the username:huawei1

Trying 192.168.1.2 ...

Press CTRL+K to abort

Connected to 192.168.1.2 ...

Enter password:

  -----------------------------------------------------------------------------

  User last login information:     

  -----------------------------------------------------------------------------

  Access Type: SSH      

  IP-Address : 192.168.1.1 ssh     

  Time       : 2016-11-23 20:16:56-08:00     

  -----------------------------------------------------------------------------

<Router>

在Router上查看ssh服务器端当前的会话连接信息。

[Router]dis ssh  server  session

--------------------------------------------------------------------

 Conn   Ver   Encry     State  Auth-type        Username

--------------------------------------------------------------------

 VTY 0  2.0   AES       run    password         huawei1                         

--------------------------------------------------------------------

 

六、实验体会和思考题

这次实验主要是熟悉了对ENSP的操作,包括简单拓扑图设计以及简单的路由器命令等,让我们可以更快熟悉软件。其次就是用quartus实现2进3出实验过程,其实这个实验老师代码都给了,难度不大,主要是对Netmagic的使用以及编译时间过长问题。通过这个实验也了解了Ping的使用,受益匪浅。

 

猜你喜欢

转载自blog.csdn.net/qq_40421671/article/details/88745099
今日推荐