- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我清除 IPtables 然后添加以下规则时,传入连接可以毫无问题地连接到端口 1234 上的我的 KVM VM。
-A PREROUTING -i br0 -p tcp -m tcp --dport 1234 -j DNAT --to-destination 192.168.122.194:1234
-A FORWARD -d 192.168.122.194/32 -p tcp -m state --state NEW,RELATED,ESTABLISHED -m tcp --dport 1234 -j ACCEPT
-A FORWARD -s 192.168.122.194/32 -p tcp -m tcp --sport 1234 -j ACCEPT
-A FORWARD -d 192.168.122.194/32 -p tcp -m tcp --dport 1234 -j ACCEPT
但我也希望 NAT 在我的 KVM VM 中工作。默认情况下,libvirt 会设置一些规则,为我的 VM 提供 NAT。但是,当我尝试将 SIGHUP 发送到 libvirt(这就是您要求它向 iptables 添加规则的方式)时,它会向 iptables 添加以下规则,这会破坏我在上面指定的端口转发。
-A FORWARD -d 192.168.122.0/24 -o virbr0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 192.168.122.0/24 -i virbr0 -j ACCEPT
-A FORWARD -i virbr0 -o virbr0 -j ACCEPT
-A FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -o virbr0 -p udp -m udp --dport 68 -j ACCEPT
-A POSTROUTING -s 192.168.122.0/24 -d 224.0.0.0/24 -j RETURN
-A POSTROUTING -s 192.168.122.0/24 -d 255.255.255.255/32 -j RETURN
-A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -p tcp -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -p udp -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -j MASQUERADE
我试过手动运行这些命令。我可以运行所有 FORWARD 和 OUTPUT 命令,它们不会破坏我的端口转发。但是我无法手动运行任何 POSTROUTING 命令。我收到一条错误消息:“没有该名称的链/目标/匹配项。”
*上面最后一个灰色部分中的这些 libvirt iptables 规则是通过运行 iptables-save 并确认端口转发正常工作,然后向 libvirt 发送 SIGHUP,确认端口转发被破坏,然后再次运行 iptables-save 并运行 diff 获得的在两个输出上查找 libvirt 添加了哪些新的 iptables 规则。
最佳答案
我刚刚使用自己的规则启用了 NAT。我没有理会任何默认的 libvirt 规则。
添加 NAT 就像 3 个 iptables 命令一样简单。(其中 br0 是您面向互联网的适配器(它可以是 ppp0 或其他))
iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE
iptables -A FORWARD -i br0 -o virbr0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i virbr0 -o br0 -j ACCEPT
关于iptables - libvirt iptables 规则中断到我的 KVM 虚拟机的端口转发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30654803/
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我想玩新的 aspnet vnext,但它需要安装 kvm。 Here他们说我需要克隆存储库并运行 kvmsetup.cmd。但是当我克隆 repo 时没有这样的文件。 所以我回到了他们的 home
我是kvm新手,现在qemu-kvm和kvm都很复杂。任何人都可以介绍一些关于 qemu-kvm 和 kvm 的入门知识?非常感谢! 最佳答案 KVM 代表基于内核的虚拟机。它使您能够创建任意数量的虚
我在 eclipse for android 工作过,但现在我已经转移到 android studio,从 here 下载 android studio 之后: 使用studio设置sdk 创建安卓项
我有一个 x86_64 m/c,我在这个 m/c 上成功安装了 Sles12 和 RHEL7 guest。但是在创建 ubuntu guest (64 位)时,这是失败的。 virt-install
在我已经虚拟化的主机中,尝试将选项传递给选项 -enable-kvm -m 1024 , 将失败: qemu-system-x86_64 -vga std -enable-kvm -m 1024
我正在尝试使用 kvm 在 qemu 中进行一些操作系统开发。我使用的是 x86-64,我的主机 CPU 是 Intel i7-6700K (Skylake)。问题是当我使用 -cpu host 运行
我正在尝试在 KVM 的两个实例之间设置一个 RDMA channel 。我想使用 管理程序内部 中的 RDMA (Infiniband) Verbs API 在两个实例之间发送一个简单的字符串。我不
我正在尝试在我的 Macbook 上安装 vNext,但是当我运行时 source kvm.sh终端只是挂起。 我的设置: OSX 10.9.5(小牛队) 单声道 3.10.0 我的问题: 我按照从
如何正确设置 K Version Manager (KVM),以便稍后可以通过在 powershell 中的任意位置键入“KVM”来运行 KVM?我是否必须向 HOME 存储库添加路径? 最佳答案 运
我在 Elementry OS 上运行 android studio。我已经安装了 kvm 并且安装正确...请参见下面的屏幕截图... 但是当我尝试在 android studio 中运行模拟器时,
1、讲在前面(玩这个的心历路程) 最近一段时间想玩一些集群之类的东西,学习搞一下K8s,集群啥的,但是我没有多台服务器,如果购买云服务器成本太高,后来想到了买台台式机弄点虚拟机来玩,于是我就在某鱼上
作者:SRE运维博客 博客地址: https://www.cnsre.cn/ 文章地址:https://www.cnsre.cn/posts/211105852095/ 相关话题:https://ww
我正在尝试将 KVM guest (Ubuntu 18.04)添加到本地网络,就像网络中的其他真实服务器一样。我在主机系统(Ubuntu 18.04)中配置了 KVM 桥接接口(interface),
我正在尝试运行kvm,但是出现了这个错误: $ virsh -c qemu:///system list error: Failed to connect socket to '/var/run/li
我使用 git clone git://git.kernel.org/pub/scm/virt/kvm/kvm.git 获得了 kvm 源。 我想尝试使用 kvm 核心来添加和/或删除功能,并在每次构
是否可以跟踪KVM生成的所有系统调用/中断来与硬件交互。我知道有像 strace 这样的工具可以跟踪任何 C 程序生成的所有系统调用,但是如果您想获取虚拟机管理程序的所有系统调用,如何执行相同的操作。
我一直在尝试使用原始套接字发送 UDP 数据包,但是,本地未收到发送的数据包。如果发送到远程目的地,也会收到相同的数据包。测试在KVM下进行。相同的测试似乎在 Parallels 下运行。 套接字设置
我知道 qemu-kvm 在 KVM 中进行设备模拟。 qemu-kvm 是否在主机的用户空间中执行?所以当遇到kick函数时,通过hypercall退出VM进入hypervisor,然后hyperv
我想知道是否有一个 KVM API 允许您使用一个简单的命令从 python 脚本启动 KVM 虚拟机。 我的 Python 脚本会执行一系列检查,以确定我们是否需要启动特定的 VM,如果需要,我想启
我是一名优秀的程序员,十分优秀!