centos 7 双网卡建网桥脚本实现

#!/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=24
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=24
BRIDGE=br0
EOF

cat > "$interface_file2" <<EOF
TYPE=Ethernet
BOOTPROTO=static
NAME=$interface2
DEVICE=$interface2
ONBOOT=yes
IPADDR=0.0.0.0
PREFIX=24
BRIDGE=br0
EOF

systemctl restart network

#检查ip地址是否设置成功
res=`ip addr show br0 |grep -c "$ip"`
if [ "$res" -eq 0 ];then
echo "ip地址设置失败" >&2
return 254
fi

#检查默认路由是不是gateway
res=`ip route |grep -c "default\s*via\s*$gateway\s*dev\s*br0"`
if [ "$res" -eq 0 ];then
echo "网关设置失败" >&2
return 253
fi
return 0
}

set_bridge

执行格式:

./set_bridge.sh -i 192.168.4.72 -g 192.168.4.1

结果:

[[email protected] ~]# 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

时间: 2024-12-15 05:12:34

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

记录一次centos的双网卡绑定

准备做kvm的虚拟话,物理机采用双网卡配置,计划将双网卡绑定再配置桥接. 1.在/etc/sysconfig/network-scripts/下创建文件ifcfg-bond0,配置文件: DEVICE=bond0 BOOTPROTO=none ONBOOT=yes NETMASK=255.255.255.0 IPADDR=192.168.2.227 USERCTL=no 2.bond0绑定了两个网卡eth0和eth1,原来的配置需要做部分修改 eth0注释之前的IP和掩码 DEVICE=eth0

CentOS下双网卡绑定

像流媒体传输之类的服务器使用单网卡负载过高,可能造成画面卡顿情况,为缓解网络压力,特进行双网卡绑定. 这里我们将2块1GB的网卡进行绑定,使其带宽达到2GB,从而减少网络拥塞. 1.修改/etc/sysconfig/network-scripts/ifcfg-eth0/1配置文档,内容如下: BOOTPROTO=none  ONBOOT=yes  MASTER=bond0  SLAVE=yes 2.创建一个绑定网络口的配置文档/etc/sysconfig/network-scripts/ifcf

centos 7 双网卡双网关配置问题

服务器双网卡在不同的网段怎么配置才能正常通讯?类似于双线机房一个联通一个电信的网,怎么配置,是不是需要改什么内核参数,我使用了策略路由,实现了可以通过两个网卡去访问服务器上的网站是没有问题的,但是,我们服务器上的服务是通过UDP协议的流媒体服务器,向服务器推流就是不成功?你有没遇到了类似的问题?有什么解决方法吗 现在的网络环境是这样的两块网卡en2ps0 :10.10.10.197/24 网关10.10.10.254en3ps0 :192.168.1.200/24 网关192.168.1.1方案

Linux双网卡绑定脚本

linux运维及配置工作中,常常会用到双网卡绑定,少数几台服务器的配置还好,如果是需要配置几十甚至上百台,难免会枯燥乏味,易于出错,我编写了这个双网卡绑定的辅助脚本,可傻瓜式地完成linux双网卡绑定工作,当然,该脚本主要还是用于小批量的系统配置,如需配置大量的服务器,可提取脚本中的bonding函数,稍作修改即可,你值得一试! 1.适用范围 该shell脚本可在以下linux系统创建多个绑定网卡,用于生产环境没问题的: Redhat 5.x CentOS 5.x Kylin 3.x KUX 2

Centos 6.5 64位双网卡绑定

1.环境描述      我的Vmware workstation 10 安装Centos 6.5 64位加上双口的Intel千兆网卡,通过ifconfig -a|grep eth命令看到eth2和eth3两张网卡. 2.双网卡绑定步骤: 2.1 修改/etc/sysconfig/network-scripts/ifcfg-eth2配置文档,修改后的内容如下:    DEVICE=eth2       ONBOOT=yes              #系统启动时自动启用该设备    BOOTPRO

CentOS双网卡绑定bond0

a)拷?并配置vim /etc/sysconfig/network-scripts/ifcfg-bond0配置?件(会自动创建文件) DEVICE=bond0 TYPE=Ethernet ONBOOT=yes BOOTPROTO=static IPADDR=xxx.xxx.xxx.xxx NETMASK=xxx.xxx.xxx.xxx GATEWAY=xxx.xxx.xxx.xxx USERCTL=no b)编辑em1,em2/eth0.eth1?件 vim /etc/sysconfig/net

Linux 双网卡实现负载均衡(Centos or Ubuntu)

将两张网卡绑定,共用一个IP,实现冗余效果.实际上linux双网卡的绑定模式有7种: mode=0 表示 load balancing (round-robin)为负载均衡方式,两块网卡都工作. mode=1 表示 fault-tolerance (active-backup)提供冗余功能,工作方式是主 从的工作方式,也就是说默认情况下只有一块网卡工作,另一块做备份. mode=2 表示 XOR policy 为平衡策略.此模式提供负载平衡和容错能力 mode=3 表示 broadcast 为广

转:CentOS 7使用nmcli配置双网卡聚合LACP

进入CentOS 7以后,网络方面变化比较大,例如eth0不见了,ifconfig不见了,其原因是网络服务全部都由NetworkManager管理了,下面记录下今天下午用nmcli配置的网卡聚合,网络上资料比较多,这里仅记录以备忘,更详细的说明可以参考rhel7和centos7使用nmcli命令管理配置网络. CentOS7使用ip link代替ifconfig命令,使用teamd处理双网卡聚合,使用nmcli命令行配置网络. 实战发现team driver在重启时会有些问题,会漏掉设置混杂模式

centos 6.4系统双网卡绑定配置详解

Linux双网卡绑定实现就是使用两块网卡虚拟成为一块网卡(需要交换机支持),这个聚合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作.本文详细描述下centos 6.4系统双网卡绑定操作步骤操作前需要确定NetworkManager 服务是否已经停止,否则容易报错.#service NetworkManager status显示NetworkManager 已停即可 具体绑定操作:1.在/etc/sysconfig/network