对于挂载 Infiniband 卡的服务器,当我使用该ifconfig命令时,我收到以下警告:
Ifconfig uses the ioctl access method to get the full address
information, which limits hardware addresses to 8 bytes.
Because Infiniband address has 20 bytes, only the first 8 bytes
are displayed correctly.
Ifconfig is obsolete! For replacement check ip.
Run Code Online (Sandbox Code Playgroud)
我应该停止使用ifconfig吗?它是否已被弃用以支持该ip命令?还是会在近期更新?
注意:这个问题和答案是关于GNU/Linux 的“主要”发行版的。不应假定该信息适用于所有发行版,尤其不适用于其他操作系统。
由于ifconfig在主要 Linux 发行版中显然已被弃用,我想我会了解一些ip应该使用的工具而不是ifconfig.
在这里我遇到了一个问题:当单独运行时,ifconfig除了其他信息外,还显示每个接口上接收/传输的字节数。我找不到从ip. 这个工具没有这个功能吗?我可以使用哪些其他内置工具来获取这些统计信息?
很多人都说该ifconfig命令已被弃用而赞成该命令ip(至少在 linux 上)。
这通常被用作论证,从转换ifconfig到ip(见的一些意见和答案,我应该用ifconfig退出?)。
我们在哪里可以找到关于此的声明(即在哪里声明ifconfig将来不支持)?
在使用ifconfig命令显示越来越多的丢弃数据包的接收部分。因此,从 Internet 到达我的服务器的某些数据包似乎存在问题。
这个丢弃计数器考虑了什么样的数据包?在到达 iptables 防火墙之前,还是在 iptables 接受数据包之后,是否需要所有到达的数据包?
如何解决ipconfig drop包计数器停止增加的情况?
由于我不知道我的问题究竟是什么,如果您认为需要一些其他信息,请随时让我完成此部分。
eth0 Link encap:Ethernet HWaddr 00:cc:cc:cc:cc:cc
inet adr:90.0.0.2 Bcast:90.0.0.255 Masque:255.255.255.0
adr inet6: fe80::21c:c0ff:feb9:829c/64 Scope:Lien
adr inet6: 2001:a100:1:bbbb::1/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:113264620 errors:0 dropped:2523 overruns:0 frame:0
TX packets:168526529 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:59171827564 (55.1 GiB) TX bytes:223993117711 (208.6 GiB)
Run Code Online (Sandbox Code Playgroud)
请注意RX 部分中的“ dropped:2523 ”。这是最重要的。这个数字还在不断增加。
default via 90.0.0.254 dev eth0
90.0.0.0/24 dev …Run Code Online (Sandbox Code Playgroud) 在 CentOS 上,我不再有ifcfg-eth0配置文件(我已将其删除)。当我运行时,system-configure-network它显示没有我可以编辑的接口。如何重新创建ifcfg-eth0配置文件?(就像 CentOS 安装程序那样)
我可以手动执行 a:ifconfig eth0 192.168.0.199然后执行ping 192.168.0.1. 但这不是正确的方法。我如何使用 CentOS 网络脚本来做到这一点?
我不喜欢手动执行此操作,因为有很多硬链接和令人困惑的东西。我是 CentOS 的新手。
在接口的 ifconfig 输出上下文中,我还没有找到关于“运营商错误”的真正明确定义。我一直在 Google 上搜索,但确实没有很好的定义或导致此问题的问题列表。
我从上下文中假设,这意味着以太网信号不好。我怀疑是互连电缆或网络接口/端口引起了这个问题吗?
我几乎没有看到这个计数器发生变化,但是今天早上一位客户联系了我并提到了网络问题。载波计数器每秒增加约 200。他们最近对连接到我管理的 Linux 机器的设备进行了一些修改。我希望能够给他们一些关于可能导致问题的更具体的细节,然后说,你改变的东西坏了。
eth0 Link encap:Ethernet HWaddr 00:1b:21:f3:ea:ae
inet addr:172.16.0.9 Bcast:172.16.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:13386121 errors:0 dropped:0 overruns:0 frame:0
TX packets:21255715 errors:1701 dropped:0 overruns:0 carrier:1031707
collisions:1313642 txqueuelen:1000
RX bytes:2467874046 (2.2 GiB) TX bytes:3820141165 (3.5 GiB)
Run Code Online (Sandbox Code Playgroud)
那么什么是“运营商错误”,以及导致它的典型问题是什么。
我看到 (RHEL) 节点出现网络问题(数据包丢失),这似乎也通过 ifconfig 输出中“错误”和“帧”字段的非零计数来体现:
eth2 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx
...
RX packets:277593775 errors:1049 dropped:0 overruns:0 frame:536
Run Code Online (Sandbox Code Playgroud)
“错误”和“框架”的确切含义是什么?
编辑:输出ethtool eth2:
Settings for eth2:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: umbg
Wake-on: d
Current message level: 0x00000007 (7)
Link detected: yes
Run Code Online (Sandbox Code Playgroud) 我正在查看 Linux 系统上接口的状态。当我使用该ifconfig命令时,它显示链接已打开。
master $ ifconfig docker0
docker0 Link encap:Ethernet HWaddr 02:42:b9:25:be:2d
inet addr:172.18.0.1 Bcast:0.0.0.0 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Run Code Online (Sandbox Code Playgroud)
但是,当我运行ip link命令时,它已关闭。
master $ ip link show docker0
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default
link/ether 02:42:b9:25:be:2d brd ff:ff:ff:ff:ff:ff
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下吗?
我想了解什么是本地路由表。
如果我使用以下命令在其中添加一个随机地址:
sudo ip route add to local <any-ip-address> dev <network interface>
Run Code Online (Sandbox Code Playgroud)
现在我可以 ping 这个地址,但是 ifconfig 列出的接口没有使用这个地址。
例子:
$ ping 192.168.22.22 -w 1
PING 192.168.22.22 (192.168.22.22) 56(84) bytes of data.
--- 192.168.22.22 ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms
$ sudo ip route add to local 192.168.22.22 dev wlp2s0
$ ping 192.168.22.22 -w 1
PING 192.168.22.22 (192.168.22.22) 56(84) bytes of data.
64 bytes from 192.168.22.22: icmp_seq=1 ttl=64 time=0.018 ms
64 bytes from 192.168.22.22: icmp_seq=2 …Run Code Online (Sandbox Code Playgroud) 我确定之前已经问过并回答过这个问题,但我找不到它,所以希望这至少可以将某人链接到正确的地方。
我想找出用于访问某个主机的本地接口和 IP 地址。例如,如果我有 3 个适配器连接到我的盒子,并且它们都连接到不同的网络,我想知道这三个中的哪一个(特别是它的 IP 地址)用于访问 my.local.intranet(在这个在这种情况下,它将是一个 vpn 隧道接口)。我怀疑这是 ifconfig 或 traceroute 的工作,但我一直无法找到正确的开关。
我正在运行 OSX 10.7(达尔文)
编辑:为了方便访问,这就是我最终为了完成这个技巧而写的:
ifconfig `route get <host> | grep "interface: " | sed "s/[^:]*: \(.*\)/\1/"` | grep "inet " | sed "s/.*inet \([0-9.]*\) .*/\1/"
Run Code Online (Sandbox Code Playgroud)
欢迎任何改进/优化。