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

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

jxcq3周前 (11-15)未分类12

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网络与通讯问题” 的相关文章

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...

debian安装docker通用方法

脚本安装wget -qO- get.docker.com | bash首先就是老方法卸载旧版本dockersudo apt-get remove docker docker-engine docker.io containerd runcsudo apt-get update安装软件包以允许使用 基...

debian12安装网心云(安装docker-arm架构通用)

安装dockerapt-get install     ca-certificates     curl     gnupginstall -m 0755 -d /etc/apt/keyringscurl -f...

debian12 安装raid0,GPT硬盘重启后自动消失问题解决

安装服务:apt install -y mdadm分区软件:apt install gdiskGPT硬盘一定要分区sdb1 sdc1 否则硬盘重启后raid自动消失MBR硬盘不用分区sdb  sdcfdisk -l安装raid0:GPT方式:mdadm -Cv /dev/md0 -a ye...

debian-网卡名称的变迁(ethX -> enpXsY)

早几年前,Linux 系统的网卡名称都是 eth0、wlan0,后来都变了个风格,就拿我的电脑举例:enp7s0, wlp6s0。这到底是是什么原因呢?最近突然好奇,去查了资料才知道为什么。在 Fedora 的技术资料中找到,这个和 Systemd 有关,然后又在 freedesktop 官网 Sy...

RouteOs安装容器+端口转发与回流

RouteOs安装容器查看当前Device-Mode/system/device-mode/ print当在enterprise模式下,启用container模式/system/device-mode/update container=yes重启设备(这步要非常注意)创建网络为容器添加veth接口:...

发表评论

访客

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