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

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

jxcq7个月前 (11-15)未分类92

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安装Homeassistant

1、打开DOCKER注册表搜索Homeassistant2、选择官方版。3、双击Homeassistant下载。(用homeassistant/home-assistant:2021.5.2-支持自定义插件)homeassistant/home-assistant:2022.8.2-支持(1.x-m...

将文件从Docker容器复制到主机

详细说明及使用可参考官方docker cp文档说明在容器和本地文件系统之间复制文件/文件夹用法$ docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|- $ docker cp&nb...

命令安装ESPHome

命令安装ESPHomedocker run -d --name="ESPHome" -e TZ=Asia/Shanghai -v /mnt/data-64G/docker/esphome:/config&nbs...

什么是强电解质,什么是弱电解质?

下列说法正确的是(  )A、难溶于水的电解质一定是弱电解质B、强电解质的水溶液导电能力一定比弱电解质水溶液的导电能力强C、某物质若不是电解质,就一定是非电解质D、溶于水的强电解质,在水溶液中全部电离成离子         高中阶段学的几乎所有盐都是强...

MBR-GPT模式grub2启动添加windows分区启动

MBRnano /boot/grub/grub.cfg### BEGIN /etc/grub.d/30_os_prober ###  #(自己更改系统名称)menuentry 'Windows 8.1'  {    &nbs...

ESXI挂载移动硬盘

ESXI挂载移动硬盘

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

发表评论

访客

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