依赖包

net-tools iproute2 bridge-utils git curl

权限

需要在 root 下执行

脚本

dnet.sh j脚本内容

 

#like br0 要创建的桥接设备名
BRNAME=$1
#like eth0 要矫健的网络接口名
IFNAME=$2
#192.168.1.2/24 当前主机IP
LOCALIP=$3
#192.168.1.1 当前主机网关
GWIP=$4
# 注意如果此脚本出错会导致主机离线,无法进行网络访问,请做好应急预案
yum install -y net-tools iproute2  bridge-utils git
git clone https://github.com/jpetazzo/pipework
cp pipework/pipework /usr/local/bin/
(ip link add dev "$BRNAME" type bridge > /dev/null 2>&1) || (brctl addbr "$BRNAME")
ip link set "$BRNAME" up
ip addr add $LOCALIP dev $BRNAME; \
ip addr del $LOCALIP dev $IFNAME; \
brctl addif $BRNAME $IFNAME; \
ip route del default; \
ip route add default via $GWIP dev $BRNAME
  • 实例

 

sh dnet.sh br0 eth0 192.168.1.2/24 192.168.1.1

创建一个测试用容器

 

docker run -itd --name testweb1 nginx

为创建好的容器分配主机同网段IP

 

pipework br0 testweb1 192.168.1.3/24@192.168.1.1

验证是否成功

在任意同网段主机内执行都可成功访问

 

ping 192.168.1.3
curl http://192.168.1.3


 

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐