Centos7 创建虚拟网卡(tun/tap)

创建网卡、创建网桥并建立桥接

[root@kolla ~]# cat create.sh
create_br(){
    tunctl -t storage -u root
    brctl addbr virbr2
    brctl addif virbr2 storage
    ifconfig virbr2 10.10.1.1 netmask 255.255.255.0 up
    brctl stp  virbr2 on
}
delete_br(){
    ifconfig virbr1  down
    brctl delbr virbr1
    tunctl -d manager
}

create_br
#delete_br

 

1. 确认内核是否支持tun/tap,确认内核是否有tun模块
  [root@guanxiaojue]# modinfo tun
  filename:       /lib/modules/2.6.34.7-56.fc13.i686.PAE/kernel/drivers/net/tun.ko
  alias:          char-major-10-200
  license:        GPL
  author:         (C) 1999-2004 Max Krasnyansky
  description:    Universal TUN/TAP device driver
  srcversion:     880DE258930FE60D765B735
  depends:        
  vermagic:       2.6.34.7-56.fc13.i686.PAE SMP mod_unload 686 
如上所示,则说明内核支持tun/tap虚拟网卡

2.加载内核模块 
  [root@guanxiaojue ~]#  modprobe tun
  [root@guanxiaojue ~]# lsmod | grep tun
  tun                    10548  1 
//如上显示,则说明内核模块加载成功

3.添加centos7的tunctl源
(1)创建下面的文件: /etc/yum.repos.d/nux-misc.repo:
    [nux-misc]
    name=Nux Misc
    baseurl=http://li.nux.ro/download/nux/misc/el7/x86_64/
    enabled=0
    gpgcheck=1
    gpgkey=http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
(2)安装tunctl rpm包
    # yum --enablerepo=nux-misc install tunctl

4.使用tunctl新建虚拟网卡
(1)创建网卡的设备文件:
    [root@guanxiaojue ~]# tunctl -t tap0 -u root//如果是非root用户则需要sudo下
(2)设置虚拟网卡:
    [root@guanxiaojue ~]# ifconfig tap0 192.168.0.1  netmask 255.255.255.0 promisc
经过如上操作后,虚拟网卡已经建立和配置好了。


 

你可能感兴趣的:(linux,docker,linux)