当前位置:首页 > 未分类 > 正文内容

宿主机与docker-macvlan网络与通讯问题

jxcq3个月前 (11-15)未分类28

ip link add macvlan2 link eth0 type macvlan mode bridge

ip addr add 10.10.7.250 dev macvlan2 

ip link set macvlan2 up

ip route add 10.10.7.252 dev macvlan2


openwrt旁路由设置wireguard


修改network网路配置
文件路径:etc/config/network

option private_key :私钥 (推荐修改一下 自己使用)
option listen_port '18889' :端口可以修改

config wireguard_123(是对端设置)
option private_key:对端私钥
option public_key:对端公钥 (必须修改成 电脑或是手机 以及软路由的。)


config interface '123'
	option proto 'wireguard'
	option private_key 'wPZ2RMlRCAR/nPDwGKEVX6laKASQzVHvISRkUnMHXXc='
	option listen_port '18889'
	list addresses '192.168.11.1/24'

config wireguard_123
	list allowed_ips '192.168.11.0/24'
	option private_key '2LklEhkX2hkKTntlXPJHfr5RZFfz4+u9aUWMfHc6dFM='
	option public_key 'gqmjfo3rmr7gaiYJrAw7lDooGOJTVZCpI8Be7KU/nE4='

添加防火墙配置
文件路径:etc/config/firewall


config zone
	option name 'lan'
	option input 'ACCEPT'
	option output 'ACCEPT'
	option forward 'ACCEPT'
	option masq '1'
	list network 'lan'
	list network '123'
config nat
	option target 'MASQUERADE'
	list proto 'all'
	option src 'lan'

网络---防火墙---

Docker macvlan网络与宿主机通讯

图片引用自:macvlan模式容器与宿主机通信


默认情况下各个macvlan之间可以通讯,但是不能与宿主机进行通讯!! 出现这种情况的原因是为了安全而禁止互通,如宿主机ping容器的ip,尽管他们属于同一网段,但是也是ping不通的,反过来也是。




解决方案:


可以在宿主机上建立一个macvlan链接,这样就可以通过宿主机上的macvlan与容器内部的macvlan进行连接,从而解决了宿主机与macvlan容器之间不能通讯的问题。


创建容器macvlan示例:


#!/bin/bash

#docker 创建macvlan

#macvlan_ipv4

docker network create -d macvlan \

--subnet=192.168.123.0/24(你的网络子网号) \

--gateway=192.168.123.1(你的网关) \

 -o parent=ovs_eth0(你的父网卡) \

macvlan(新的网络名称)

#macvlan_ipv6

docker network create -d macvlan --ipv6 \

--subnet=192.168.123.0/24 --gateway=192.168.123.1 \

--subnet=240e::/60 --gateway=240e::1 \

-o parent=ovs_eth0 \

-o macvlan_mode=bridge \

macvlan(新的网络名称)

——————————————————————————————————————————————————-————————————————————

#docker容器运行macvlan模式

docker run -d \

--name=xxxx \

--network macvlan(你的macvlan网络名称) \

 --ip=192.168.0.39(指定macvlan ip地址) \

--dns=192.168.0.29(指定容器dns) \

--restart=always \

--name=movie-robot \

......其他docker运行参数

_________________________________________________________________________

#配置宿主机和容器通讯

#宿主机创建一个macvlan

ip link add macvlan2(一个网络名称) link ovs_eth0(你的物理网卡) type macvlan mode bridge 

#设置macvlan ip 并启用

ip addr add 192.168.123.240 dev macvlan2                           

ip link set macvlan2 up #启用新建网络

@增加路由表

ip route add 目的ip(需要建立通讯的macvlan容器 ip) dev macvlan(刚宿主机建立的macvlan)

————————————————————————————————设置完毕————————————————————————————————————                                        

AI写代码

bash


————————————————

版权声明:本文为CSDN博主「不会拯救世界的SuperMan」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weixin_44907046/article/details/123144254


扫描二维码推送至手机访问。

版权声明:本文由小强的小站发布,如需转载请注明出处。

本文链接:https://zblog.dragon2024.cloudns.ch/?id=73

分享给朋友:

“宿主机与docker-macvlan网络与通讯问题” 的相关文章

群晖使用Docker安装Node-RED

第一步:管理员账号登陆群晖,在Docker中选择“注册表”,搜索“nodered”,搜索结果中选择nodered/node-red-docker,点击下载,选择标签latest。此时系统开始下载,可在“映像”中查看下载进度第二步:下载完毕后,在“映像”里选择已下载的 nodered 映像 ,点击启动...

群晖使用Docker安装nginx 释放群晖80,443端口 使用群晖自带nginx

一、更改设置释放群晖NAS的80端口 1、ssh方式登录进你的群晖NAS(root)2、修改文件server.mustache  80改8080 443改4430vi /usr/syno/share/nginx/server.mustache3、修改文件DSM...

FRP内网穿透+openwrt-FRP客户端设置

1、一台vps主机2、ssh连接主机下载最新frp软件https://github.com/MvsCode/frps-onekeyhttps://github.com/fatedier/frpwget https://github.com/fatedier/frp/releases/dow...

omv5-omv6-换源-扩展插件-docker

ovm5换源:https://blog.csdn.net/weixin_39916479/article/details/119500845#安装omv-extras-pluginswget -O - https://github.com/OpenMediaVault-Plugin-Develope...

TC1-A2-mqtt-配置

https://github.com/yakinchang/phicomm_tc1_a2 固件配置获取插排分配到的 IP(根据自己的网络环境自行解决),IP 以 10.10.9.134 为例访问插排的 http 接口,获取插排状态,用户名密码都是 admin支持的接口列表:修改和查询wifi:htt...

ESXI挂载移动硬盘

ESXI挂载移动硬盘

开启ESXI的ssh服务不要接移动硬盘从终端ssh进ESXIssh root@192.168.50.5停止usbarbitrator服务/etc/init.d/usbarbitrator stop chkconfig usbarbitrator off插入移...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。