#!/bin/bash

interface1=`ls /sys/class/net|grep en|awk 'NR==1{print}'`
interface2=`ls /sys/class/net|grep en|awk 'NR==2{print}'` interface_file1="/etc/sysconfig/network-scripts/ifcfg-$interface1"
interface_file2="/etc/sysconfig/network-scripts/ifcfg-$interface2"
br0_file="/etc/sysconfig/network-scripts/ifcfg-br0" echo $interface_file1
echo $interface_file2
echo br0_file while getopts "i:g:" opt; do
case $opt in
i)
ip=$OPTARG
;;
g)
gateway=$OPTARG
;;
\?)
;;
esac
done echo $ip
echo $gateway function set_bridge(){
#写网卡配置文件
cat > "$br0_file" <<EOF
TYPE=Bridge
BOOTPROTO=static
DEVICE=br0
ONBOOT=yes
DNS1=114.114.114.114
IPADDR=$ip
PREFIX=
NETMASK=255.255.255.0
GATEWAY=$gateway
EOF cat > "$interface_file1" <<EOF
TYPE=Ethernet
BOOTPROTO=static
NAME=$interface1
DEVICE=$interface1
ONBOOT=yes
IPADDR=0.0.0.0
PREFIX=
BRIDGE=br0
EOF cat > "$interface_file2" <<EOF
TYPE=Ethernet
BOOTPROTO=static
NAME=$interface2
DEVICE=$interface2
ONBOOT=yes
IPADDR=0.0.0.0
PREFIX=
BRIDGE=br0
EOF systemctl restart network #检查ip地址是否设置成功
res=`ip addr show br0 |grep -c "$ip"`
if [ "$res" -eq ];then
echo "ip地址设置失败" >&
return
fi #检查默认路由是不是gateway
res=`ip route |grep -c "default\s*via\s*$gateway\s*dev\s*br0"`
if [ "$res" -eq ];then
echo "网关设置失败" >&
return
fi
return
} set_bridge

执行格式:

./set_bridge.sh -i 192.168.4.72 -g 192.168.4.1

结果:

[root@localhost ~]# ifconfig
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.4.72 netmask 255.255.255.0 broadcast 192.168.4.255
inet6 fe80::20e:c6ff:fec5:e66f prefixlen 64 scopeid 0x20<link>
ether 00:0e:c6:c5:e6:6f txqueuelen 0 (Ethernet)
RX packets 949676 bytes 188597922 (179.8 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 317931 bytes 71904040 (68.5 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

enp0s20u5: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 00:0e:c6:c5:e6:6f txqueuelen 1000 (Ethernet)
RX packets 1072283 bytes 200438143 (191.1 MiB)
RX errors 0 dropped 114 overruns 0 frame 0
TX packets 317930 bytes 74447998 (70.9 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

enp3s0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether d0:17:c2:8c:47:7d txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 0 (Local Loopback)
RX packets 196 bytes 29677 (28.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 196 bytes 29677 (28.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

centos 7 双网卡建网桥脚本实现的更多相关文章

  1. ubuntu 双网卡建网桥脚本实现

    #!/bin/bash interface1=`ls /sys/class/net|grep en|awk 'NR==1{print}'` interface2=`ls /sys/class/net| ...

  2. esxi 配置 交换主机 虚拟机交换机 linux centos 配置双网卡

    最近手里的项目网络环境是 192.168.199.1 直接到防火墙 192.168.1.x 是内网网段 走到 防火墙下的一个三层交换机 现在需要将内网的三台服务器端口映射出去,需要到防火墙去做映射,防 ...

  3. CentOS之—双网卡双IP双网关配置

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/77487639 一.配置讲解 1.配置DNS 修改对应网卡的DNS的配置文件 # v ...

  4. CentOS下双网卡双IP不同IP段配置

    环境: eth0:10.0.7.2  gw :10.0.7.254 netmask:255.255.255.0 eth1:168.6.101.2    gw :168.6.101.254    net ...

  5. CentOS下双网卡绑定-bond0

    网卡绑定就是多张网卡逻辑上作为一张网卡用.可分为,负载均衡绑定和冗余绑定两种. 加载bonding驱动   #modprobe bonding 1.编辑虚拟网络接口配置文件 [root@test~]# ...

  6. RedHat/CentOS(Linux)双网卡bond(mode=6)

    1. 将/etc/sysconfig/network-scripts/ifcfg-ens1f0和ifcfg-ens1f1文件备份到root目录下2. 修改/etc/sysconfig/network- ...

  7. Centos 8双网卡设置

    原理:不管开发板是通过直连.路由器还是交换机连接到PC机,最终都是接到PC的以太网网卡(对笔记本来说,一般存在两个网卡,一个WIFI网卡和以太网网卡):因此要实现PC机与虚拟机的互ping,必须把虚拟 ...

  8. centos下多网卡做bond脚本

    多网卡或者单网卡形式下的网卡bonding #! /bin/sh #获取当前网卡数 ethnum=`lspci | grep Ethernet | wc -l` echo $ethnum #如果网卡数 ...

  9. centos7.5配置双网卡上网

    一.环境及说明 当初有这个需求,主要是帮一个高校的客户搭建一个大数据集群,使用的是校园网,交换机上一个端口只能连接一部电脑上网,不能通过路由组建子网,确保集群中的服务器有子网ip的同时,也能够通过公网 ...

随机推荐

  1. 浅谈 C/S 和 B/S 架构

    概述 在这个信息急剧膨胀的社会,我们不得不说人类正进入一个崭新的时代,那就是信息时代.信息时代的一个主要而显著的特征就是计算机网络的应用.计算机网络从最初的集中式计算,经过了Client/Server ...

  2. Linux IO时事检测工具iostat

    Linux IO时事检测工具iostat iostat命令用于检测linux系统io设备的负载情况,运行iostat将显示自上次运行该命令以后的统计信息.用户可以通过指定统计的次数和时间来获得所需的统 ...

  3. socket编程--相关函数--sendto();read();

    {1} 头文件:#include <sys/types.h>   #include <sys/socket.h>定义函数:int sendto(int s, const voi ...

  4. call 和 ret 指令

    body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...

  5. 有史以来功能最全,使用最简单的excel导入/导出工具

    Github地址:https://github.com/xuanbg/Utility. 还有其他一些福利,请各位园友自取. 构造方法 1.用于导出Excel文件 NpoiHelper(ExcelVer ...

  6. 关于oracle视图小结

    关于oracle的视图小记:一. 视图:就是对SQL语句的封装,使用起来更方便.不易出错 优点: 1.简化数据操作:视图可以简化用户处理数据的方式 2.着重于特定数据:不必要的数据或敏感的数据可以 不 ...

  7. A/X家FPGA架构及资源评估

    评估对比xilinx以及altera两家FPGA芯片逻辑资源. 首先要说明, 现今FPGA除了常规逻辑资源,还具有很多其他片内资源比如块RAM.DSP单元.高速串行收发器.PLL.ADC等等,用以应对 ...

  8. matlab文件读写处理实例(一)——不规则文件读取

    数据: A) Title: Income Data B) Relevant Information: Marketing Database. Source: Impact Resources, Inc ...

  9. 【转】sed 的参数

    一.15个参数 1.r 从文件读入 [root@watchout2 ~]# cat file12345 [root@watchout2 ~]# cat newfile abcde [root@watc ...

  10. MySQL--REPEATABLE-READ隔离级别下读取到的“重复数据”

    在MySQL中,使用MVCC来实现REPEATABLE-READ隔离级别,由于SELECT操作不会对数据加锁,其他回话可以修改当前回话所读取过的数据而不会被阻塞,因此读写不冲突. 在MVCC并发控制中 ...