centos7.6批量增加修改删除虚拟网卡操作介绍
导读
1 确认内核是否有tun模块
modinfo tun
modprobe tun lsmod | grep tun
2 安装tunctl软件
yum install tunctl -y
vim /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
yum --enablerepo=nux-misc install tunctl
软件名称:tunctl-1.5-12.el7.nux.x86_64
3 添加多个ip并绑定到网卡
cd /etc/sysconfig/network-scripts cp ifcfg-lo ifcfg-lo:1 vim ifcfg-lo:1
DEVICE=lo:1
ONBOOT=yes
BOOTPROTO=static
IPADDR=新增IP
NETMASK=子网掩码
GATEWAY=网关地址
systemctl restart network
4 批量添加虚拟网卡
tunctl -t tap0 -u root
tap0 是虚拟网卡名字
ifconfig tap0 172.168.1.1 netmask 255.255.255.0 promisc
172.168.1.1 是ip地址
ip tuntap add tap1 mode tun
tunctl -t tap0 -u root ifconfig tap0 172.168.1.1 netmask 255.255.255.0 promisc ip tuntap add tap1 mode tap ifconfig tap1 10.0.0.1/16 ip tuntap add tap2 mode tap ifconfig tap2 10.0.0.1/17 ip tuntap add tap3 mode tap ifconfig tap3 10.0.0.1/18 ip tuntap add tap4 mode tap ifconfig tap4 10.0.0.1/19 ip tuntap add tap5 mode tap ifconfig tap5 10.0.0.1/20 ip tuntap add tap6 mode tap ifconfig tap6 10.0.0.1/21 ip tuntap add tap7 mode tap ifconfig tap7 10.0.0.1/22 ip tuntap add tap8 mode tap ifconfig tap8 10.0.0.1/23 ip tuntap add tap9 mode tap ifconfig tap9 10.0.0.1/24
sh addVirnet.sh
#!/bin/bash # i=0 n=0 while [ $n -le 10 ];do i=$(( $i + $n )) n=$(( $n + 1 )) ip tuntap add tap$n mode tap done echo $i
5 批量修改虚拟网卡
ifconfig tap0 192.168.130.17 netmask 255.255.255.0 promisc ifconfig tap1 192.168.130.18 netmask 255.255.255.0 promisc ifconfig tap2 192.168.130.19 netmask 255.255.255.0 promisc ifconfig tap3 192.168.130.20 netmask 255.255.255.0 promisc ifconfig tap4 192.168.130.21 netmask 255.255.255.0 promisc ifconfig tap5 192.168.130.23 netmask 255.255.255.0 promisc ifconfig tap6 192.168.130.24 netmask 255.255.255.0 promisc ifconfig tap7 192.168.130.25 netmask 255.255.255.0 promisc ifconfig tap8 192.168.130.28 netmask 255.255.255.0 promisc ifconfig tap9 192.168.130.30 netmask 255.255.255.0 promisc
6 批量删除虚拟网卡
tunctl -d tap0 tunctl -d tap1 tunctl -d tap2 tunctl -d tap3 tunctl -d tap4 tunctl -d tap5 tunctl -d tap6 tunctl -d tap7 tunctl -d tap8 tunctl -d tap9
sh deleteVirnet.sh
#!/bin/bash # i=0 n=0 while [ $n -le 10 ];do i=$(( $i + $n )) n=$(( $n + 1 )) tunctl -d tap$n done echo $i
其他命令
tunctl
brctl show
brctl addbr br-zhai brctl addif br-zhai tap0 brctl addif br-zhai tap1 ifconfig -a brctl show ifconfig br-zhai 192.168.9.1 up ifconfig br-zhai ifconfig -a brctl show brctl showmacs br-zhai ifconfig tap0 promisc ifconfig
开启自动启动虚拟网卡脚本
vim /etc/init.d/config_tap
#!/bin/bash # # config_tap Start up the tun/tap virtual nic # # chkconfig: 2345 55 25 USER="root" TAP_NETWORK="192.168.130.10" TAP_DEV_NUM=0 DESC="TAP config" do_start() { if [ ! -x /usr/sbin/tunctl ]; then echo "/usr/sbin/tunctl was NOT found!" exit 1 fi tunctl -t tap$TAP_DEV_NUM -u root ifconfig tap$TAP_DEV_NUM ${TAP_NETWORK} netmask 255.255.255.0 promisc ifconfig tap$TAP_DEV_NUM } do_stop() { ifconfig tap$TAP_DEV_NUM down } do_restart() { do_stop do_start } check_status() { ifconfig tap$TAP_DEV_NUM } case $1 in start) do_start;; stop) do_stop;; restart) do_restart;; status) echo "Status of $DESC: " check_status exit "$?" ;; *) echo "Usage: $0 {start|stop|restart|status}" exit 1 esac n=0 while [ $n -le 8 ];do n=$(( $n + 1 )) ip tuntap add tap$n mode tap done echo $i ifconfig tap0 192.168.1.110 netmask 255.255.255.0 promisc ifconfig tap1 192.168.1.111 netmask 255.255.255.0 promisc ifconfig tap2 192.168.1.112 netmask 255.255.255.0 promisc ifconfig tap3 192.168.1.113 netmask 255.255.255.0 promisc ifconfig tap4 192.168.1.114 netmask 255.255.255.0 promisc ifconfig tap5 192.168.1.115 netmask 255.255.255.0 promisc ifconfig tap6 192.168.1.116 netmask 255.255.255.0 promisc ifconfig tap7 192.168.1.117 netmask 255.255.255.0 promisc ifconfig tap8 192.168.1.118 netmask 255.255.255.0 promisc ifconfig tap9 192.168.1.119 netmask 255.255.255.0 promisc
chkconfig --add config_tap chkconfig --level 345 config_tap on service config_tap start
评论(0)