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 / 问题 / 769248
Accepted
Der Kommissar
Der Kommissar
Asked: 2016-04-10 13:34:27 +0800 CST2016-04-10 13:34:27 +0800 CST 2016-04-10 13:34:27 +0800 CST

RRAS NAT 不转发特定 Hyper-V 虚拟机

  • 772

我有一个 Windows Server 2012 R2 安装,带有 Hyper-V、RRAS 和 NAT 设置。

我的两个虚拟机和 RRAS NAT 有问题:

本质上,这两个 VM 不会在本地子网之外进行通信。他们可以与本地网络中的所有东西(其他虚拟机、网关)进行通信,但不能与本地网络之外的东西通信。这两个和其他 VM 之间的唯一区别是它们是基于 Linux 的系统。所有其他 VM 都是基于 Windows Server 2012 R2 的系统。

是否有特定于 Linux 的东西会导致此问题?一个是 CentOS 安装,另一个是 Debian 安装。

如果我为任何一个 linux 盒子分配了一个面向公众的接口,那么它们就有了外部连接。显然我不想这样做,因为它浪费了我的 IP 寻址空间。

请注意:服务器可以 ping 默认网关(10.0.0.1)就好了。时间通常在 0.450ms 左右。


现在,我只想解决 debian 安装的问题,所以这里有一些数据:

# ifconfig
eth0    Link encap:Ethernet  HWaddr 00:15:5d:91:82:07
        inet addr:10.0.4.0  Bcast:10.0.255.255  Mask:255.255.0.0
        inet6 addr: fe80::215:5dff:fe91:8207/64 Scope:Link
        UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
        RX packets:1842 errors:0 dropped:0 overruns:0 frame:0
        TX packets:7245 errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 txqueuelen:1000
        RX bytes:119697 (116.7 KiB)  TX bytes:701216 (684.7KiB)

(不包括环回)

# route
Kernel IP routing table
Destination    Gateway        Genmask        Flags Metric Ref    Use Iface
default        10.0.0.1       0.0.0.0        UG    0      0        0 eth0
localness      *              255.255.0.0    U     0      0        0 eth0

# ip route
default via 10.0.0.1 dev eth0
10.0.0.0/16 dev eth0  proto kernel  scope link  src 10.0.4.0

该/etc/network/interfaces文件如下:

source /etc/network/interfaces.d/*

auto lo
iface lo inet loopback

allow-hotplug eth0
iface eth0 inet static
        address 10.0.4.0
        netmask 255.255.0.0
        network 10.0.0.0
        broadcast 10.0.255.255
        gateway 10.0.0.1

更多信息:

# iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT

# iptables -L
Chain INPUT (policy ACCEPT)
target     port opt source           destination

Chain INPUT (policy ACCEPT)
target     port opt source           destination

Chain OUTPUT (policy ACCEPT)
target     port opt source           destination

网络基本设置如下:Hyper-V Windows Server 有一个网络端口,插入互联网。然后主机安装了 RRAS 和 NAT,并使用我的整个公共 IP 空间为 VM 转换 NAT。每个虚拟机/24从该范围内获得不同的 IP 地址块10.0.0.0/16,但它们保留/16子网掩码。例如,Debian VM 是10.0.4.0 - 10.0.4.255.

linux networking rras nat windows-server-2012-r2
  • 1 1 个回答
  • 318 Views

1 个回答

  • Voted
  1. Best Answer
    Der Kommissar
    2016-04-11T09:52:46+08:002016-04-11T09:52:46+08:00

    因此,事实证明问题是由于校验和卸载造成的。

    出于某种原因,当 IPv4 Checksum Offloading 被激活时,Linux 客户机无法通过 NAT 工作。(它们在没有 NAT 的情况下也能正常工作,这很奇怪。)

    因此,在物理和虚拟接口上禁用 IPv4 Checksum Offload 并重新启动服务器后,一切都按预期工作。

    • 1

相关问题

  • 更改 PHP 的默认配置设置?

  • 有什么软件可以模拟局域网?

  • 保护新的 Ubuntu 服务器 [关闭]

  • 带宽利用工具?[关闭]

  • (软)Ubuntu 7.10 上的 RAID 6,我应该迁移到 8.10 吗?

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