直到大约30分钟前,我还对vxlan一无所知,但是我想出了一个安装OpenStack的问题,这与vxlan有关。
试图在Ubuntu14.04(内核3.14.32)上的接口上创建一个vxlan:
ip link add vxlan10 type vxlan id 10 group 239.0.0.10 ttl 4 dev eth0
RTNETLINK answers: Operation not supported
谷歌在这方面没有提供任何信息--这似乎不是一个常见的问题。
诚然,上面的命令可能不正确,因为我已经从其他地方举了一个例子。但是,我不确定这是硬件还是内核支持问题?
使用轻型隧道允许将相同(隧道)设备用于许多目的地(除其他事项外)。对于vxlan/ipv4 4,它可以工作;
ip link add vxlan4 type vxlan dstport 4789 dev eth1 ttl 4 external
ip link set dev vxlan4 up
ip route replace 220.0.0.0/24 dev vxlan4 encap ip id 100 dst 192.168.2.221
但是相同的配置不适用于IPv6;
ip -6 link add vxlan6 type vxlan dstport 4789 dev eth1 ttl 4
Linux现在支持轻量级隧道https://lwn.net/Articles/650778/,这意味着在路由上配置隧道(因此不需要通过隧道设置一个接口)。
但不幸的是,我没有找到很多关于它们的文档。在上面链接的补丁系列中,语法是ip route add 40.1.1.1/32 encap vxlan id 10 dst 50.1.1.2 dev vxlan0。
但是在我当前的iproute-5.2.0中,没有encap vxlan,只有encap ip id ... (使用mpls、bpf、seg6.)。它看起来像外壳类型是自动检测根据设备。所以不要做
$ ip link add dev
我正在尝试理解linux内核中的vxlan驱动程序代码。内核版本为: 3.16.0-29-generic
查看vxlan.c,似乎每个VNI都创建了一个vxlan dev,它与netdevice所属的网络绑定在一起,并且每个dev都创建了一个udp socket。
我对此感到有点困惑,因为除了全局网络之外,您不能真正将vxlan设备连接到物理设备(ethx),因为物理设备必须与vxlan设备属于相同的网络。
例如:如果我在全局网络中创建了一条vxlan链路,它会按预期工作:
ip link add vxlan0 type vxlan id 10 dev eth0
ip a
1: lo: <
创建实例失败,错误如下:
Exceeded maximum number of retries. Exhausted all hosts available for retrying build failures for instance
控制器节点没有任何错误。计算节点上存在异常:
nova.exception.PortBindingFailed: Binding failed for port b70c2f30-f83c-4cae-abf8-98be39a382d5, please check neutron logs for more information.
中子的记录没有错误。中子组
我正在研究Linux商业路由器之间的vxlan隧道。我需要调试一些接口设置。
命令sudo ip -d link show DEV为我提供了一个很好的输出,但是输出格式就像下面这样长的一行。
katabey@leaf-1:mgmt:~$ sudo ip -d link show vxlan_10
11: vxlan_10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9216 qdisc noqueue master bridge state UNKNOWN mode DEFAULT group default qlen 1000
link/
我使用iprouter2工具创建了一个vxlan隧道。该命令是:
ip link add vxlan2 type vxlan id 2 group 233.1.1.1 dev bond0 dstport 4789
但是当我重新启动网络或"ifdown bond0“时,vxlan2就消失了。这就是为什么?在CentOS上不会出现这样的问题。
我检查了系统日志,发现了以下信息:
Jul 18 11:38:04 ubuntu-22 named[2184]: configuring command channel from '/etc/bind/rndc.key'
Jul 18
我想尝试vxlan单播,并在Fedora 23中配置以下配置
VM1(enp0s8) ========= (enp0s8)VM2
ip address add 100.1.1.1/24 dev enp0s8
ifconfig enp0s8 up
ip link add name vxlan42 type vxlan id 42 dev enp0s8 remote 50.1.1.2 local 50.1.1.1 dstport 4789
ip address add 50.1.1.1/24 dev vxlan42
ip link set up vxlan42
ip address add 10
我正在用linux测试vxlan,这个问题让我困了好几天。
简单Vxlan工作精细
简单的带有muticast的vxlan用于跨主机通信,这只需创建一个vxlan vtep并分配一个ip地址:
ip link add vxlan100 type vxlan id 100 group 239.1.1.1 dev enp0s8
ip addr add 10.20.1.2/24 dev vxlan100
ip link set vxlan100 up
在两台主机上运行上述命令后,拓扑如下:
📷
而且这个很好!
桥接vxlan不工作
然后,我尝试设置桥接vxlan,连接容器与vxlan,它不工作。下面
我用过
$ ip link add vxlan0 type vxlan \
id 42 \
dstport 4789 \
group 239.1.1.1 \
dev enp0s8
和
$ ip link add vxlan0 type vxlan \
id 42 \
dstport 4789 \
remote 192.168.8.101 \
local 192.168.8.100 \
dev enp0s8
但它们都不能跨子网连接多台机器。(多播不能跨越子网)。那么,如何在多个子网(如K8
我可以在哪里更改中子自动驾驶仪安装OpenStack的设置?
在我的控制器/etc/see/plugins/ml2/ml2_conf.ini.I下,我看到:
###############################################################################
# [ WARNING ]
# Configuration file maintained by Juju. Local changes may be overwritten.
####################################################
在kubernetes集群中,我们使用纤毛CNI,但它在工作节点上失败。错误信息显示在belew中。
$ kubectl get pod -n kube-system
NAME READY STATUS RESTARTS AGE
cilium-dpd4k 0/1 Running 2 97s
cilium-operator-55658fb5c4-qpdqb 1/1 Running 0 6m30s
cilium-sc7
我在hyper上构建了一个集群(v1.15.4)
- linux node (master)
- linux node (worker)
- windows node (worker)
- networking - flannel (host-gw)
- mac spoofing enabled for vms
部署win-webserver.yaml测试windows是否工作。https://kubernetes.io/docs/setup/production-environment/windows/user-guide-windows-containers/
kubectl get po
我是Python的新手,我有一个下面的代码,我想接受命令行参数并将参数值作为包过滤器传递给函数,但它不起作用 #!/usr/bin/python3
import argparse
from scapy import all
from scapy.layers import all
from scapy.layers.inet import IP, ICMP, UDP
from scapy.packet import ls, Raw
from scapy.sendrecv import sniff, send
from scapy.all import *
#UDPPORT = 8472
#
首先,我知道要根据ip命令创建一个带有标签的VXLAN接口:
ip link add vxlan-br0 type vxlan id <tag-id> group <multicast-ip> local <host-ip> dstport 0
但它对我的实际需求是无用的,我的需求是使用不同的标签隔离多个docker容器,例如:
brctl addif br1 veth111111 tag=10 # veth111111 is the netdev used by docker container 1 brctl addif br1 veth222222 t