#!/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. DedeCMS首页调用缩略图为背景

    配合{dede:arclist}{/dede:arclist}标签使用,既可以实现把缩略图作为背景,另外还需要用到background-position这个标签,做好背景的定位. http://www ...

  2. tp5 点击刷新验证码

    <form action="<{:url('index/index/login')}>" method="post" name="f ...

  3. 可变数目参数----关键字params的使用

    如何定义和使用可变数目参数的方法,使用关键字params. 即其他语言的可变参数 Code public class App { static void Main() { //常规使用方法 Conso ...

  4. 如何跳出页面的Frame框架

    摘录自:http://blog.csdn.net/clare504/article/details/9347363 很多网页都是框架结构的,在很多的情况下会通过按钮点击事件或链接,跳出框架转到其它界面 ...

  5. [one day one question] Vue数组变更不能触发刷新

    问题描述:Vue数组变更不能触发刷新,特别是数组的每个元素都是对象的时候,对象中某个属性的值发生变化,根本无法触发Vue的dom刷新,这怎么破? 解决方案:this.$set(array, index ...

  6. 深入理解final关键字以及一些建议

    引子:一说到final关键字,相信大家都会立刻想起一些基本的作用,那么我们先稍微用寥寥数行来回顾一下. 一.final关键字的含义 final是Java中的一个保留关键字,它可以标记在成员变量.方法. ...

  7. ASP.net core 2.0.0 中 asp.net identity 2.0.0 的基本使用(四)—用户注册

    修改用户注册 1.修改用户名注册规则. 打开Controllers目录下的AccountController.cs. 在控制器中找到 public async Task<IActionResul ...

  8. 国内不谈java

    今天晚上在整理电脑,不知道怎么回事,电脑里面放着一篇文章.打开一看写的挺好的,现在就贴出来,望共勉.   国内不谈java--会有千万人跳出来和你争嘴的.越是如此,我越是不忍心不说出来,越是不不忍心看 ...

  9. 企业级分布式存储应用与实战FastDFS实现

    FASTDFS是什么 FastDFS是由国人余庆所开发,其项目地址:https://github.com/happyfish100 FastDFS是一个轻量级的开源分布式文件系统,主要解决了大容量的文 ...

  10. secureCRT sftp使用

    sftp-- help 可用命令: cd 路径 更改远程目录到"路径" lcd 路径 更改本地目录到"路径" chgrp group path 将文件" ...