标签: networking

为什么使用多个 NAT 层是个坏主意?

组织的计算机网络具有 192.168/16 IP 地址范围的 NAT。有一个部门,其服务器的 IP 地址为 192.168.xy,该服务器使用另一个 IP 地址范围为 172.16/16 的 NAT 处理该部门的主机。

因此有 2 层 NAT。为什么他们没有子网划分。这将允许轻松路由。

我觉得多层 NAT 会导致性能损失。你能帮我比较一下这两种设计策略吗?

更新:

@Jon 一些更多信息

在和朋友讨论时,我们意识到子网划分会导致以下问题。计算机的 ARP 请求会淹没整个组织的网络。如果路由器不转发这些请求,那么一个部门的 PC 将无法连接到其他部门的 PC,如果它们位于不同的 NAT 后面,则无论如何都无法连接。通过数据包嗅探器,我们看到有大量 ARP 请求,因为部门中的大多数计算机都启用了 Windows 上的文件共享。

如何解决这个问题呢?

此外,如果两台计算机位于不同的 NAT 之后,则它们无法相互连接。

networking nat

20
推荐指数
4
解决办法
2万
查看次数

记录火星人数据包(例如,net.ipv4.conf.all.log_martians)有什么用处?

大多数情况下,当我对 linux box 等的加固进行任何搜索时,列表中总会有一段火星数据包(IP)的日志,没有任何进一步的解释。

net.ipv4.conf.all.log_martians =1
net.ipv4.icmp_ignore_bogus_error_responses =1
Run Code Online (Sandbox Code Playgroud)

我已经做了一些谷歌搜索,但它看起来不像火星人数据包是攻击源左右。任何人都可以照亮吗?

谢谢

networking security linux

20
推荐指数
1
解决办法
1万
查看次数

如何列出所有物理安装的网卡 (Debian)?

我的“专用服务器”应该安装了两个 NIC,但我只能找到一个。

我的问题:还有哪些命令和方法可以测试我的服务器上安装了多少网卡

lspci | grep Ethernet
Run Code Online (Sandbox Code Playgroud)

还有其他可用的命令/方法吗?

networking debian

19
推荐指数
6
解决办法
9万
查看次数

远距离传输缓慢

从我们的纽约数据中心传输到更远的位置的性能很差。

使用速度测试来测试不同的位置,我们可以轻松地使我们的 100 兆比特上行链路饱和到波士顿和费城。当我使用速度测试定位在美国或欧洲的西海岸时,我经常看到只有大约 9 mbit/s。

我的第一反应是这是一个窗口缩放问题(Bandwidth Delay Product)。但是,我已经在西海岸的一台测试机上调整了 Linux 内核参数,并使用 iperf 使窗口大小足以支持每秒 100 兆字节,但速度仍然很慢(已在捕获中验证)。我也试过禁用 Nagle 算法。

我们在 Linux 和 Windows 上的性能都很差,但使用 Windows 的速度明显更差(1/3)。

转移的形状(没有Nagle)是:在此处输入图片说明

10 秒左右的下降有大约 100 个重复的 ack。

接收器随时间变化的最小窗口大小的形状为:

在此处输入图片说明

关于下一步去哪里确定我们的瓶颈有什么想法吗?

一些速度测试结果(使用 speedtest.net 上传):

  • 费城:44 mbit(使用我们网站的人正在使用其余的 ;-))
  • 迈阿密:15 兆比特
  • 达拉斯:14 兆位
  • 圣何塞:9 兆位
  • 柏林:5 兆比特
  • 悉尼:2.9 兆比特

更多数据:
迈阿密:69.241.6.18

 2  stackoverflow-nyc-gw.peer1.net (64.34.41.57)  0.579 ms  0.588 ms  0.594 ms
 3  gig4-0.nyc-gsr-d.peer1.net (216.187.123.6)  0.562 ms  0.569 ms  0.565 ms
 4  xe-7-2-0.edge1.newyork1.level3.net (4.78.132.65)  0.634 ms  0.640 ms  0.637 ms
 5  vlan79.csw2.newyork1.level3.net (4.68.16.126) …
Run Code Online (Sandbox Code Playgroud)

networking tcp

19
推荐指数
2
解决办法
2913
查看次数

Ping: sendmsg: 在 Arch GNU/Linux 上安装 iptables 后不允许操作错误

昨天我买了一台新电脑作为我的家庭服务器,HP Proliant 微服务器。在其上安装 Arch Linux,内核版本为 3.2.12。

安装 iptables(1.4.12.2 - 当前版本 AFAIK)并将net.ipv4.ip_forward密钥更改为 1,并在 iptables 配置文件中启用转发(并重新启动)后,系统无法使用其任何网络接口。Ping 失败

Ping: sendmsg: operation not permitted
Run Code Online (Sandbox Code Playgroud)

如果我完全删除 iptables,网络就可以了,但是我需要将 Internet 连接共享到本地网络。

eth0 - 集成在主板上的 WAN 网卡(Broadcom NetXtreme BCM5723)。

eth1 - pci-express 插槽中的 LAN NIC(英特尔 82574L 千兆网络)

由于它在没有iptables的情况下工作(服务器可以访问互联网,并且我可以从内部网络使用ssh登录),我认为它与iptables有关。我对 iptables 没有太多经验,所以我使用这些作为参考(当然彼此分开......):

wiki.archlinux.org/index.php/Simple_stateful_firewall#Setting_up_a_NAT_gateway

revsys.com/writings/quicktips/nat.html

howtoforge.com/nat_iptables

在我以前的服务器上,我使用 revsys 指南来设置 nat,效果很好。

有没有人经历过这样的事情?我究竟做错了什么?

networking nat iptables arch-linux

19
推荐指数
2
解决办法
10万
查看次数

可能在同一 LAN 上出现重复的 MAC 地址吗?

假设有人与我在同一个网络上并欺骗他们的 MAC 地址以匹配我的:

  1. 这可能吗?两个或多个具有相同 MAC 地址的客户端能否同时在同一网络上并保持一致连接?
  2. 发生这种情况时,如果同一网络上不允许重复的 MAC 地址,我最终会被取消身份验证并退出网络吗?
  3. 如果允许重复的 MAC 地址,我可能会遇到什么样的行为?碰撞、竞争条件等?

networking security local-area-network vlan mac-address

19
推荐指数
2
解决办法
9万
查看次数

跨本地网络的 Git 克隆/拉取

我正在尝试使用 Ubuntu Quantal 在另一台 PC 中克隆/拉取存储库。我之前在 Windows 上做过这个,但我不知道 ubuntu 上有什么问题。我试过这些:

git clone file:////pc-name/repo/repository.git
git clone file:////192.168.100.18/repo/repository.git
git clone file:////user:pass@pc-name/repo/repository.git
git clone smb://c-pc/repo/repository.git
git clone //192.168.100.18/repo/repository.git
Run Code Online (Sandbox Code Playgroud)

我总是得到:

Cloning into 'intranet'...
fatal: '//c-pc/repo/repository.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)

或者

fatal: repository '//192.168.100.18/repo/repository.git' does not exist
Run Code Online (Sandbox Code Playgroud)

更多的:

  • 另一台电脑有用户名和密码
  • 不是网络问题,我可以访问并ping通它。
  • 我刚刚安装了git做apt-get install git(安装了依赖项)
  • 我正在从终端运行 git(我没有使用 git-shell)

是什么导致了这个以及如何解决这个问题?任何帮助都会很棒!

更新

我已经在 Windows 上克隆了 repo,git clone //192.168.100.18/repo/intranet.git没有问题。所以,repo 是可访问的并且存在!也许问题是由于用户凭据?

networking version-control git ubuntu-12.10

19
推荐指数
2
解决办法
5万
查看次数

linux下用ip命令删除IP

如果我像这样添加两个IP:

ip addr add 1.1.1.1/24 dev eth2
ip addr add 1.1.1.2/24 dev eth2
Run Code Online (Sandbox Code Playgroud)

然后我尝试删除这样的一个:

ip addr del 1.1.1.2/24 dev eth2
Run Code Online (Sandbox Code Playgroud)

两个IP都将被删除,我不知道如何处理。

有谁知道如何解决它?

networking bash ip ubuntu-12.04

19
推荐指数
2
解决办法
11万
查看次数

专门的服务器提供商在服务器位置上撒谎?

上周我花了一些时间研究西班牙的专用服务器租赁,而且由于它们都非常昂贵,我发现了一些困扰我的东西。

因此,是其中一个提供商 (51.254.154.0/24) 使用的一系列 IP。我得到了一些 ip,使用了一些地理定位工具并得到了一些奇怪的结果。虽然有些 ips似乎位于西班牙,但其他ips不在

然后我发现与这些 IP 相关联的公司是 OVH,它在西班牙不提供服务,在法国拥有最近的数据中心,其中一些 IP 似乎来自那里。 在此处输入图片说明

作为最后的检查,我想简单地 ping 这些 IP 并将其与我知道位于 OVH France 数据中心的一些 IP 进行比较,发现几乎没有区别,响应时间在 53-54 毫秒之间。

mtr检查“西班牙”IP (51.254.154.225) 和我在法国的一台服务器 (192.0.2.50) 从fr1 也位于那里:

# mtr -c10 -r -n 51.254.154.225
Start: Mon Feb 27 14:14:23 2017
HOST: fr1                         Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- 192.0.2.10                 0.0%    10  974.0 208.1   0.3 1079. 432.2
  2.|-- 10.95.68.132               0.0%    10    0.3   0.3   0.2   0.3 …
Run Code Online (Sandbox Code Playgroud)

networking hosting dedicated-server

19
推荐指数
3
解决办法
3555
查看次数

如何删除不存在的docker网络?

我有一个带有 3 个节点的 docker swarm 配置。有一个网络仅位于其中一个节点上。在该特定节点上,docker network ls显示网络,显示docker network rm [network-id]来自守护进程的错误响应:网络...未找到”,同时docker network inspect [network-id]显示网络,它看起来不错(范围:swarm,驱动程序:覆盖)。完全像我并行创建的测试方式来比较它。有人知道吗?我怎样才能摆脱那个网络僵尸?

networking zombie docker docker-swarm

19
推荐指数
1
解决办法
1万
查看次数