当前位置: 首页>前端>正文

centos安装chattr命令 centos安装tunctl

利用TUN创建虚拟网络与Veth的使用

我用的环境是CentOS7, 6.5版本在下面配置YUM源不支持,图片具体步骤自己在虚拟机上完成即可,前提是需要你有完整版的centos7镜像。有一些我遇到的以及身边人常见的问题已列在下面

centos安装chattr命令 centos安装tunctl,centos安装chattr命令 centos安装tunctl_linux,第1张

一、利用TUN创建虚拟网络
整体思路为:
1.确认内核是否支持TUN/TAP,并确认是否有TUN模块。
2.添加CentOS7的tunctl源
3.安装tunctl rpm包
4.使用tunctl新建虚拟网卡tap0

具体步骤如下:
1.先安装一个第三方源:

yum install -y epel-release

epel-release不懂的小伙伴可见详细介绍

2.检查内核是否支持TUN/TAP:

#modinfo tun

centos安装chattr命令 centos安装tunctl,centos安装chattr命令 centos安装tunctl_linux_02,第2张

3.加载TUN模块:

#modprobe tun
#lsmod |grep tun

centos安装chattr命令 centos安装tunctl,centos安装chattr命令 centos安装tunctl_vim_03,第3张

4.添加CentOS7的tunctl源:

  • 配置YUM源:

#cd /etc/yum.repos.d
#touch nux-misc.repo
#vim nux-misc.repo
[nux-misc]
name=Nux-Misc
baseurl=http://li.nux.ro/download/nux/misc/el7/x86_64/
enabled=0
gpgcheck=0
gpgkey=http://li.nux.ro/download/nux/PRM-GPG-KEY-nux.ro

  • 安装tunctl rpm包:

#yum --enablerepo=nux-misc install -y tunctl

centos安装chattr命令 centos安装tunctl,centos安装chattr命令 centos安装tunctl_运维_04,第4张

5.安装TUN/TAP的管理工具tunctl

若第4步已经配置完成了TUN源,则这一步则会显示“”无需任何处理

#yum install -y tunctl

6.创建虚拟网卡:名为tap0

#tunctl -b -u root -t tap0

7.创建临时IP并查看:

#ifconfig tap0 10.0.1.2/24
#ifconfig tap0
查看网卡具体信息的命令#ifconfig -a

centos安装chattr命令 centos安装tunctl,centos安装chattr命令 centos安装tunctl_运维_05,第5张

8.检测连通性:

#ping -I tap0 10.0.1.2 -c 4

centos安装chattr命令 centos安装tunctl,centos安装chattr命令 centos安装tunctl_centos_06,第6张

9.删除虚拟网卡:

#tunctl -d tap0

centos安装chattr命令 centos安装tunctl,centos安装chattr命令 centos安装tunctl_centos_07,第7张

出现“nonpersistent“即为删除成功,可通过#ifconfig -a来查看目前的网卡配置情况

到目前为止我们创建tap虚拟网卡部分完成,但会出现ping不通所配临时IP的情况,有以下原因:

1.在安装tunctl工具之前,并未配置yum源
2.在配置临时IP之后,未重启网络服务
#systemctl restart network
3.重启网络服务但未启用tap0网卡
#ifconfig tap0 up

身边的同学遇到的问题多在于第3点原因

二、Veth的使用
1.创建Namespace:名称为xd_ns

#ip netns add xd_ns
#ip netns list

2.创建Veth接口:

#ip link add veth0 type veth peer name veth1
#ip a

centos安装chattr命令 centos安装tunctl,centos安装chattr命令 centos安装tunctl_linux_08,第8张

3.添加veth:

#ip link set veth1 netns xd_ns
#ip link list

centos安装chattr命令 centos安装tunctl,centos安装chattr命令 centos安装tunctl_centos安装chattr命令_09,第9张

4.检查网络信息:查看xd_ns内部的网络信息

#ip netns exec xd_ns ip link list

centos安装chattr命令 centos安装tunctl,centos安装chattr命令 centos安装tunctl_centos_10,第10张

5.配置命名空间地址:

配置命名空间xd_ns中的Veth1的IP为10.1.0.2/24

#ip netns exec xd_ns ifconfig veth1 10.1.0.2/24 up
#ip netns exec xd_ns ip addr list

centos安装chattr命令 centos安装tunctl,centos安装chattr命令 centos安装tunctl_vim_11,第11张

6.检查连通性:

通过ping检查与veth1的连通性

#ping 10.1.0.2 -c 4

centos安装chattr命令 centos安装tunctl,centos安装chattr命令 centos安装tunctl_运维_12,第12张

对于非Debian的系统,这里有可能ping不通,我用的是CentOS7的系统最后一步是无法ping通,RHEL可支持。主要是因为内核中的一些APR相关配置导致veth1不返回APR应答包。



https://www.xamrdz.com/web/2qy1944693.html

相关文章: