AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 762325
Accepted
SteveL
SteveL
Asked: 2016-03-09 03:30:58 +0800 CST2016-03-09 03:30:58 +0800 CST 2016-03-09 03:30:58 +0800 CST

Ping 只能工作两次

  • 772

我在 xen 主机中创建了一个 vm。通过遵循本指南,我已经成功地 ping www.google.com,但在获得Destination Host Unreachable. 如果我重新启动虚拟机,我可以在失败之前再次 ping 两次。

$ - ping www.google.com

PING www.google.com (216.58.208.228) 56(84) bytes of data.
64 bytes from par10s22-in-f4.1e100.net (216.58.208.228): icmp_seq=1 ttl=51 time=17.3 ms
64 bytes from par10s22-in-f4.1e100.net (216.58.208.228): icmp_seq=2 ttl=51 time=17.4 ms
From static.12.166.76.144.clients.your-server.de (144.76.166.12): icmp_seq=3 Redirect Host(New nexthop: 144.76.166.1)
64 bytes from 216.58.208.228: icmp_seq=3 ttl=51 time=17.3 ms
From wservervm (144.76.166.25) icmp_seq=4 Destination Host Unreachable
From wservervm (144.76.166.25) icmp_seq=5 Destination Host Unreachable
From wservervm (144.76.166.25) icmp_seq=6 Destination Host Unreachable
From wservervm (144.76.166.25) icmp_seq=7 Destination Host Unreachable
From wservervm (144.76.166.25) icmp_seq=8 Destination Host Unreachable
From wservervm (144.76.166.25) icmp_seq=9 Destination Host Unreachable
From wservervm (144.76.166.25) icmp_seq=10 Destination Host Unreachable
From wservervm (144.76.166.25) icmp_seq=11 Destination Host Unreachable
From wservervm (144.76.166.25) icmp_seq=12 Destination Host Unreachable

主机的 ip(用于从外部访问服务器的外部)用作 vm 的默认网关。我不知道要提供什么其他信息。这可能是什么原因?

来宾的输出arp -n是:

Address                  HWtype  HWaddress           Flags Mask            Iface
144.76.166.12            ether   d4:3d:7e:ec:ef:f8   C                     eth0
144.76.166.1                     (incomplete)                              eth0

和主机:

Address                  HWtype  HWaddress           Flags Mask            Iface
144.76.166.27                    (incomplete)                              xenbr0
144.76.166.1             ether   cc:e1:7f:ac:52:96   C                     xenbr0
144.76.166.25            ether   00:16:3e:b0:23:21   C                     xenbr0
144.76.166.28                    (incomplete)                              xenbr0
144.76.166.29                    (incomplete)                              xenbr0

主机的/etc/network/interfaces

# loopback
auto lo
iface lo inet loopback

# physical network interface
auto  eth0
iface eth0 inet manual

# bridge public
auto xenbr0
iface xenbr0 inet static
  address   144.76.166.12
  netmask   255.255.255.224
  gateway   144.76.166.1
  bridge_ports eth0
  bridge_stp off       # disable Spanning Tree Protocol
  bridge_waitport 0    # no delay unless port available
  bridge_fd 0          # no forwarding delay
# up route add -net 188.40.103.64 netmask 255.255.255.192 gw 188.40.103.65 eth0

# bridge internal
auto xenbr1
iface xenbr1 inet static
  address   10.0.10.1
  broadcast 10.0.10.255
  netmask   255.255.255.0
  pre-up brctl addbr xenbr1

# ipv6
iface eth0 inet6 static
  address 2a01:4f8:200:420b::2
  netmask 64
  gateway fe80::1

brctl 显示:

bridge name bridge id       STP enabled interfaces
xenbr0      8000.d43d7eeceff8   no      eth0
                            vif6.0
xenbr1      8000.000000000000   no      

我认为这里主要关注的是它在失败之前成功地乒乓球两次。

virtualization
  • 2 2 个回答
  • 653 Views

2 个回答

  • Voted
  1. Best Answer
    Fira
    2016-03-10T00:44:16+08:002016-03-10T00:44:16+08:00

    在提供对域的访问时,您要么是路由,要么是桥接。看起来您正在尝试同时执行这两项操作,并且由于您的防火墙规则,很可能会触发重定向并间接中断连接。

    考虑以下情况:

    • 你做桥接。数据包通过 iptables FORWARD 链运行,并直接从您的主机传送到客户机,无需实际路由。重要的是要知道 FORWARD 链在默认情况下甚至适用于桥接。通常,出于安全原因(欺骗等),提供商会要求您绑定特定的虚拟 MAC 地址以使其正常工作。

    • 你做路由。数据包通过 iptables FORWARD 链运行,然后使用内核路由表路由到正确的目的地。通常这意味着您使用不同子网的地址或 /32 单地址,路由由提供商专门处理。

    在这里,您需要同时做一些事情:

    • 您有一个将 DomU 连接到主机连接的网桥
    • 然而 DomU 尝试通过主机路由到达提供商网关
    • 提供商意识到这一点,可能是因为如果您设置了虚拟 MAC 地址,它不会使用指定的虚拟 MAC 地址,并发送 ICMP REDIRECT 消息以通知客人正在发生的事情

    我不确定为什么这不能完全正常工作,考虑到 ICMP 重定向在几乎所有主要的 Linux 发行版上都被禁用,并且尽管不对称路由可能带来问题,但它应该可以工作。这可能是提供商的网关对 ARP 和 MAC 更改过于挑剔的问题......

    无论哪种方式,由于您的 Dom0 和 DomU IP 地址都在同一个网络掩码中,因此您必须在您的情况下进行完全桥接。只需将 DomU 的网关地址更正为指向 .1,即提供商网关。不要忘记根据需要调整防火墙规则,因为默认情况下,即使是桥接的数据包也会通过 FORWARD 链。

    资料来源:我在一个测试盒上运行 Xen,它通过 NAT'ing、桥接和路由提供对不同域的访问,具体取决于域

    • 1
  2. Gaza
    2016-03-09T03:43:47+08:002016-03-09T03:43:47+08:00

    您的防火墙似乎阻止了连接。

    尝试(暂时)关闭防火墙,然后再次尝试 ping,看看它是否超过两次。

    • 0

相关问题

  • 哪些 939 插槽芯片支持 AMD-V?

  • Windows Server 2008 Hyper-V 虚拟化服务器的最佳 RAID 配置?

  • VirtualBox 上 Ubuntu 的访客优化技巧 [关闭]

  • 外部硬盘上的 virtualbox 虚拟硬盘驱动器(Vista 主机上的 ubuntu 客户机)

  • 物理机重启时自动重启虚拟机(VMWare)

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve