Linux配置8021.q vlan实践篇

来源:互联网 发布:淘宝碧凡化妆品 编辑:程序博客网 时间:2024/06/01 09:15

OSubuntu 12.04

 

一、Linux下基本环境搭建:

Linux下的基本环境是指内核静态编译进来8021q模块或者运行后动态加载8021q模块,以及vlan的配置工具。通常linux已经自己帮我们动态编译好了8021q模块,我们只需要加载就可以了。

 

1、  加载8021q模块

运行:modprobe  8021q  命令加载内核模块

运行:lsmod |grep ‘8021q’ 查看模块加载成功与否

 

2、安装vlan工具

   运行:apt-getinstall vlan

 

3、安装vlan的时候提示找不到vlan包(这是由于系统的软件源表里面找不到指定的包)

   运行:sudo apt-get update,更新一下系统的软件源就可以了。

 

4、提示brctl 找不到

运行: sudo apt-get install bridge-utils

 

 

二、linux系统提供的查询网络状态常用命令

熟练使用linux的网络命令可以迅速帮助我们分析问题的关键所在。

1、  查询路由表

运行:route

其中destination表示网络包的目的网络地址,gateway表示网关,iface表示这个包将走哪一个网卡出去。

 

2、  系统路由相关操作

添加指定网络的路由:

route add –net 192.168.9.0 netmask 255.255.255.0 dev eth0

删除指定网络的路由:

 

route del –net 192.168.9.0 netmask 255.255.255.0 dev eth0

添加主机的默认网关:

route add –host 192.168.9.25 default gw 192.168.9.1

 

3、开启系统路由转发功能

Sysctlnet.ipv4.ip_forward

//0,已经开启

//1,还未开启

 

4、  查询arp表

运行:arp命令

其中的iface表示这个arp是从这个端口学习到的。

 

 

三、vlan配置

 

Vlan配置的拓扑图:

                                                       图3.1 vlan配置拓扑图

 因为实验用的机子是单网卡,所以Eth1、Eth2、Eth3、Eth4、Eth5就没有加在里面但是原理其实是一样的。

 

过程:

1、  添加vlan,给指定的网卡添加vlan,一张网卡Eth0可以添加多个vlan,vlan10、vlan20。

运行:vconfig eth0 10

vconfig eth0 20

2、  给vlan配上ip,并激活

运行:ifconfig eth0.10 192.168.9.29 netmask 255.255.255.0 up

ifconfig eth0.20192.168.8.29 netmask 255.255.255.0 up

3、  查询vlan配置情况

运行:ifconfig

 

完成上述三个步骤即完成了linux下vlan的配置。

 

 

 

 

 

接下来是测试vlan

 

设备:二层交换机一台、话机两台,pc一台。

 

网络拓扑图:


   f0配置成trunk口,添加话机1跟话机2的vlan

   f1f0配置成trunk口,vlan跟话机1的vlan一样

   f1f0配置成trunk口,vlan跟话机2的vlan一样

pc机中装ubuntu系统,里面配置两个vlan,vlan跟话机中的vlan一致。

 

搭建好环境后可以进行测试。

 

 

Linux下使用tcpdump抓包工具总结

Ubuntu默认是安装好了tcpdump工具的,如果没有安装的话使用sudo apt-get install tcpdump即可安装。
   (如果遇到tcpdump: no suitable device found的问题,检查一下是不是在用root权限运行tcpdump,tcpdump只能在root权限下工作

 

1. tcpdump -D 获取网络适配器列表,以下是在Ubuntu上获取到的结果

2. tcpdump -i <需要监控的网络适配器编号>,例如我想监控我的无线网卡wlan0,则使用tcpdump-i 2。

3. 使用无线网卡wlan0监控IP地址为172.16.86.111上443端口的tcp协议:
  tcpdump -i 2 host 172.16.86.111 and tcp port 443
4. 如果想要显示数据包的内容,需要使用-X参数,如,我想要显示捕获的https数据包http header的内容:
  tcpdump -X -i 2 host 172.16.86.111 and tcp port 443

可以看到该结果只显示了https头的一部分,没有显示全,是因为tcpdump默认将显示的数据长度截断了,可以使用-s后面加数据长度,来设置数据显示长度:
  tcpdump -X -s 0 -i 2 host 172.16.86.111 and tcp port 443

5. 捕获的数据太多,不断刷屏,可能需要将数据内容记录到文件里,需要使用-w参数:
  tcpdump -X -s 0 -w aaa host 192.9.200.59 and tcp port 8000

0 0
原创粉丝点击