我在 EC2 上运行 Amazon Linux(基于 RHEL5)。
我有自己的域名指向实例的弹性 IP。Amazon 通过 DHCP 自动为实例分配一个通用(并且在 Internet 上不可见)主机名。
这个仅供内部使用的主机名会中断发送电子邮件,因为 SMTP 服务器想要查看真实(和公共)主机名。我可以通过手动运行“主机名”命令来设置真正的公共主机名来修复电子邮件。
我在 /etc/sysconfig/network 中设置了 HOSTNAME,但 DHCP 主机名似乎覆盖了它。
有没有一种好的/正确的方法来设置我的主机名并且总是忽略 DHCP 对它的看法,而仍然使用 DHCP 否则?
我可以想到很多麻烦的事情要做(运行一个脚本来撤销 DHCP 所做的事情,或者其他什么),但想知道是否有一个实际的配置设置来强制主机名。
有没有办法查找 TCP 套接字的发送/接收缓冲区大小?
我已经研究过 netstat 和 ss,以及原始的 /proc/net/tcp。那里有很多好东西,包括传输中的字节数、计时器、进程名称等。
但我希望能够诊断某些进程是否正在设置 SO_{SND,RCV}BUF ......更有趣的是,内核实际上为每个 SKB 使用了什么值。
这个问题的延续这一个。
我的以太网芯片组和 e1000e 驱动程序有很多问题:
02:00.0 Ethernet controller: Intel Corporation 82573L Gigabit Ethernet Controller
Run Code Online (Sandbox Code Playgroud)
显然,如果没有pcie=off,它根本不起作用,即使有这个选项,它在我从暂停状态恢复后也不起作用。有没有人对此有任何建议?它是一个上游错误吗?这是当我尝试从 dmesg 恢复和使用我的以太网卡时发生的情况。
如果您想查看众多诊断工具的结果,请务必查看我之前的问题,其中包含大量有关我的配置的信息。
[20837.993481] e1000e 0000:02:00.0: eth0: Detected Hardware Unit Hang:
[20837.993485] TDH <55>
[20837.993488] TDT <7b>
[20837.993490] next_to_use <7b>
[20837.993492] next_to_clean <54>
[20837.993494] buffer_info[next_to_clean]:
[20837.993496] time_stamp <4e4097>
[20837.993498] next_to_watch <55>
[20837.993501] jiffies <4e58a2>
[20837.993503] next_to_watch.status <0>
[20837.993505] MAC Status <80080703>
[20837.993507] PHY Status <796d>
[20837.993510] PHY 1000BASE-T Status <4000>
[20837.993512] PHY Extended Status <3000>
[20837.993514] PCI …Run Code Online (Sandbox Code Playgroud) 我有 ip route add 的问题。令人惊讶的是,我可以添加路由然后更改它,但我不能直接添加它:
# ip route add 192.168.0.0/16 via 192.168.255.254 src 192.168.1.101
RTNETLINK answers: No such process
Run Code Online (Sandbox Code Playgroud)
但:
# ip route add 192.168.0.0/16 dev eth0
# ip route change 192.168.0.0/16 via 192.168.255.254 src 192.168.1.101
Run Code Online (Sandbox Code Playgroud)
我的接口文件是:
iface lo inet loopback
auto eth0
iface eth0 inet static
address 178.xxx.xxx.xxx
netmask 255.255.255.192
network 178.xxx.xxx.xxx
broadcast 178.xxx.xxx.xxx
gateway 178.xxx.xxx.xxx
auto eth0:1
iface eth0:1 inet static
address 192.168.1.101
netmask 255.255.0.0
Run Code Online (Sandbox Code Playgroud)
我有点失落,我必须说。我可以添加然后更改,但不明白为什么它分两步工作而不是直接工作并不令人满意。我一直在阅读手册页而不理解。
在答案的帮助下更新:
我现在在eth0和上有一个网关eth0:0,但是由于我希望除 之外的所有流量都192.168.0.0/16标记为来自我的178.xxx.xxx.xxx地址,因此我添加了一个路由规则。也许eth0 …
我确实在 Centos 6 中设置了一个虚拟网络接口,将 ifcfg-eth0 复制到 ifcfg-eth0:1 并更改了适当的变量。但是连接不稳定。尽管预先存在的变量之一是PREFIX=24我必须添加NETMASK=255.255.255.0到虚拟接口脚本中才能使连接稳定。这些变量不应该有同样的效果吗?
编辑:
这是 ifcfg-eth0:1 不稳定:
DEVICE="eth0:1"
NM_CONTROLLED="yes"
ONBOOT=yes
HWADDR=00:26:18:24:4D:xx
TYPE=Ethernet
BOOTPROTO=none
IPADDR=69.64.93.x
PREFIX=24
GATEWAY=64.150.183.1
DNS1=69.64.66.11
DNS2=69.64.66.10
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0:1"
Run Code Online (Sandbox Code Playgroud)
在稳定版中,我刚刚添加了这一行:
NETMASK=255.255.255.0
Run Code Online (Sandbox Code Playgroud)
ifconfig 输出先不稳定后稳定:
eth0:1 Link encap:Ethernet HWaddr 00:26:18:24:4D:xx
inet addr:69.64.93.x Bcast:69.255.255.255 Mask:255.0.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:28 Base address:0x6000
eth0:1 Link encap:Ethernet HWaddr 00:26:18:24:4D:xx
inet addr:69.64.93.x Bcast:69.64.93.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:28 Base address:0x6000
Run Code Online (Sandbox Code Playgroud) 执行任一命令:
sudo service network restart
sudo ifup bond0
Run Code Online (Sandbox Code Playgroud)
导致以下错误(这是唯一的错误):
Bringing up interface eth0: RTNETLINK answers: File exists
Run Code Online (Sandbox Code Playgroud)
以下是相关接口的配置:
DEVICE="bond0"
IPADDR="10.100.48.6"
NETMASK="255.255.254.0"
ONBOOT="yes"
DEVICE="eth0"
MASTER="bond0"
SALVE="yes"
HWADDR="78:2B:CB:57:B5:B3"
NM_CONTROLLED="no"
ONBOOT="yes"
DEVICE="eth4"
MASTER="bond0"
SLAVE="yes"
HWADDR="00:1B:21:C9:F4:54"
NM_CONTROLLED="no"
ONBOOT="yes"
Run Code Online (Sandbox Code Playgroud)
当绑定驱动程序试图奴役它时,dmesg 输出表明 eth0 尚未准备好:
dmesg | egrep '(eth0)|(bond0)'
bnx2 0000:01:00.0: eth0: Broadcom NetXtreme II BCM5709 1000Base-T (C0) PCI Express found
at mem d4000000, IRQ 36, node addr 78:2b:cb:57:b5:b3
ADDRCONF(NETDEV_UP): bond0: link is not ready
bnx2 0000:01:00.0: eth0: using MSIX
ADDRCONF(NETDEV_UP): eth0: link is not ready
bonding: …Run Code Online (Sandbox Code Playgroud) 我需要与为我提供以下设置的客户一起设置 Checkpoint VPN 客户端:
他们告诉我 VPN 服务器是:
我没有更多了。我可以毫无问题地连接 Checkpoint 的 Windows 客户端。
我有哪些选择?
我在这个网站和其他网站上阅读了其他相关问题,但没有明确的答案。
我的 HP Proliant DL 360 G4p 服务器出现了一个奇怪的问题。它有两个千兆以太网接口,但我只能调出其中一个。这让我开始害怕,这就是我转向这里的原因。我正在运行 x64 ubuntu 11.10 服务器版本。
lshw -c network 显示第二个接口被禁用。我不知道为什么要启用它。
$ sudo lshw -c network
*-network:0
description: Ethernet interface
product: NetXtreme BCM5704 Gigabit Ethernet
vendor: Broadcom Corporation
physical id: 2
bus info: pci@0000:02:02.0
logical name: eth0
version: 10
serial: 00:18:71:e3:6d:26
size: 100Mbit/s
capacity: 1Gbit/s
width: 64 bits
clock: 66MHz
capabilities: pcix pm vpd msi bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=tg3 driverversion=3.119 duplex=full firmware=5704-v3.27b, ASFIPMIc v2.36 …Run Code Online (Sandbox Code Playgroud) 我正在研究是否可以在 Windows 中实现一个 HPC 应用程序,该应用程序使用十几个或最多 200 个多播组(即使用 MSI-X 和 RSS,我可以)以高速率接收小型 UDP 多播数据报(主要是 100-400 字节)扩展到多个内核),对每个数据包进行一些处理,然后将其发送出去。通过 TCP 发送我设法达到了我需要的程度(6.4Gb/秒)而没有撞墙,但是以高 pps 速率接收数据报却成了一个问题。
在最近对 Windows 2012 R2 上带有 2 端口 10Gb 以太网 NIC 的高规格 NUMA 机器进行的测试中,我每秒只能接收数十万个 UDP 数据报(早期丢弃,即没有实际处理数据,使用 2x12 内核从等式中删除我的应用程序的处理开销以查看它的速度有多快,并且测试的 12 个多播组的内核部分似乎分布在一个 NUMA 节点的 8 或 10 个内核上(设置了最大 RSS 队列)到 16) - 尽管使用 .net 应用程序,因此本机应用程序应该能够运行得更快。
但即使是Len Holgate 在他的高性能 Windows RIO 测试中也只能以 500kpps 的速度接收 UDP 数据包,使用 1024 …
networking performance linux-networking windows-server-2012-r2
我目前正在检查不同 Docker 覆盖网络的性能(尤其是 UDP 吞吐量)。为此,我在与 Docker 覆盖网络连接的两台主机之间创建点对点连接,然后iperf在 Docker 容器内运行以检查吞吐量。我注意到每次我iperf作为客户端运行向iperf作为服务器运行的另一个容器发送数据时,客户端主机的CPU使用率达到100%。我通过运行在此处找到的以下命令获得了该结果:
top -bn1 | grep "Cpu(s)" | \
sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | \
awk '{print 100 - $1"%"}'
Run Code Online (Sandbox Code Playgroud)
因此,对我而言,吞吐量测试的限制因素似乎是主机的 CPU 容量,因为它以 100% 的速度运行并且无法产生更多流量来使网络连接饱和。我想知道这是否是一个iperf特定问题,所以我想使用不同的工具运行相同的测试,但不确定哪种替代方案最好。主机正在运行 Ubuntu。例如,我发现qperf,uperf和netpipe。
此外,更一般地说,我开始想知道吞吐量性能的瓶颈通常是什么。它不总是与CPU容量或链路带宽有关吗?哪些因素与覆盖网络没有直接关系。
这是否意味着应用程序(或覆盖网络)的吞吐量仅取决于它需要多少 CPU 周期来传输一定数量的数据以及它如何压缩它以适应它通过网络(如果这将是瓶颈)。
linux-networking ×10
networking ×3
linux ×2
amazon-ec2 ×1
centos ×1
checkpoint ×1
cpu-usage ×1
dhcp ×1
docker ×1
interface ×1
ip ×1
iperf ×1
performance ×1
rhel5 ×1
route ×1
tcp ×1
ubuntu ×1
ubuntu-10.10 ×1
vpn ×1