Linux命令的简单了解
由于是Linux系统下,所以需要简单说一下linux的大致情况以供了解。
首先呢linux下针对与不同的用户是分用户组的,一般新建了一个虚拟机时候,输入的密码是root用户的密码,这里的root用户可以理解为是一个超级管理员,此用户可以修改、访问、删除所有的文件,而一些系统级别的文件针对普通用户是无法访问的,实验中需要用到ip命令,这里推荐在root用户下执行命令,切换到root用户的命令为
su
之后会提示输入不会回显的密码,输入完成之后切换到root用户下执行。
在线帮助命令
man xxx
xxx help
都会提供命令的帮助,可以自己试一试。
Linux网络实验基本命令
ip netns ns1 #创建network
ip link add type veth # 创建一对网卡
ip link set dev veth0 name tap1 # 网卡重命名
# 创建一个bridge设备 并修改名称
brctl addbr br1
# 网卡放到network中
ip link set tap1 netns ns1
# 网卡放到网桥中
brctl addif br1 tap1_peer
# 网卡启动
ip link set br1 up
# 分配给网卡ip
ip netns exec ns1 ip address add 192.168.50.1/24 dev tap1
# 启动网卡
ip netns exec ns1 ip link set tap1 up
# 在ns1内查看缓存表
ip netns exec ns1 arp –a
# 清楚指定ip的缓存表
ip netns exec ns1 arp –d 192.168.50.2
# 查看交换机当前的交换表
brctl showmacs br1
创建虚拟网络
注意都先su以下切换到root下执行。
ip netns add net0 #创建虚拟网络
ip netns #查看创建的虚拟网络
在虚拟网络中执行命令
两种方式:第一种直接进入bash执行完exit出来(适合大量命令),第二种单行执行(适合少量或者但行命令)
如图第一种方式执行ping命令和exit来操作,观察到用ip netns exec net0 bash进入用ping是ping不通baidu的域名的,因为这里并没有进行相关的配置。
进入虚拟网络bash
ip netns exec net0 bash
……执行相关命令 无需加上面的前缀
退出
exit
第二种用前缀引导
ip netns exec net0 + 相关命令
如图可以发现两个ping百度的有不同的运行结果。
连接两个网络环境
上述创建了两个虚拟网络之后并没有对其进行相关的配置,所以可以把他们看作都是孤岛一样的存在,我们要在之两个小岛之间拉一根网线,让他们可以进行通信。
ip link type veth # 创建一对网卡
ip ad # 查看网卡相关
此时这对网卡发送的数据包就可以相互收到。
移动网卡到虚拟网络中
ip link set veth0 netns net0 # 移动 veth0 到 net0中
ip link set veth1 netns net1
可以发现两个网卡已经不见,看看net0和net1中是否有网卡,用到上一块的命令。
可以看到网卡移动到了对应的环境中。
配置ip 测试是否连通
ip netns exec net0 ip link set veth0 up
ip netns exec net0 ip address add 1.1.1.1/24 dev veth0
ip netns exec net1 ip link set veth1 up
ip netns exec net1 ip address add 1.1.1.2/24 dev veth1
如图配置之后用net0去ping net1的地址可以ping通。
不想写了,断更了,csdn没给我保存