标签: ifconfig

测试 IP 的 BASH 脚本

有没有一种优雅的方法可以在 BASH 脚本中测试 IP 地址?我可以使用 sed/awk 执行 ifconfig 并缩小 IP 范围,但我认为有一个更简单的解决方案。

我的应用程序基本上在我的内部网中使用 SSH/SCP 脚本,而我不在。所以,我想要这种类型的流程

if IP=192.168.1.1
      then do this
 else
      then do that
Run Code Online (Sandbox Code Playgroud)

shell bash ifconfig

3
推荐指数
1
解决办法
4267
查看次数

如何设置ipv6的顺序?

我服务器上的输出按以下顺序显示 IPv6:

  inet6 addr: 2xxx:xxx:aaac:3e::10/48 Scope:Global
  inet6 addr: 2xxx:xxx:aaac:3e::1/48 Scope:Global
  inet6 addr: 2xxx:xxx:aaac:3e::2/48 Scope:Global
  inet6 addr: 2xxx:xxx:aaac:3e::3/48 Scope:Global
  inet6 addr: 2xxx:xxx:aaac:3e::4/48 Scope:Global
  inet6 addr: 2xxx:xxx:aaac:3e::5/48 Scope:Global
  inet6 addr: 2xxx:xxx:aaac:3e::6/48 Scope:Global
  inet6 addr: 2xxx:xxx:aaac:3e::7/48 Scope:Global
  inet6 addr: 2xxx:xxx:aaac:3e::8/48 Scope:Global
  inet6 addr: 2xxx:xxx:aaac:3e::9/48 Scope:Global
Run Code Online (Sandbox Code Playgroud)

但是在我的 /etc/sysconfig/network-scripts/ifcfg-eth0 中,它们以其他方式排序:

IPV6INIT=yes
IPV6ADDR=2xxx:xxx:aaac:3e::1/48
IPV6ADDR_SECONDARIES=" 2xxx:xxx:aaac:3e::2/48 \
    2xxx:xxx:aaac:3e::3/48 \
    2xxx:xxx:aaac:3e::4/48 \
    2xxx:xxx:aaac:3e::5/48 \
    2xxx:xxx:aaac:3e::6/48 \
    2xxx:xxx:aaac:3e::7/48 \
    2xxx:xxx:aaac:3e::8/48 \
    2xxx:xxx:aaac:3e::9/48 \
    2xxx:xxx:aaac:3e::10/48"
Run Code Online (Sandbox Code Playgroud)

注意 2xxx:xxx:aaac:3e::10 是第一个,但我希望它是最新的。有什么办法可以让 IPv6s 尊重顺序吗?

ipv6 ifconfig

3
推荐指数
1
解决办法
1018
查看次数

ip link eth down 和 ip link dev eth down 的区别

ip link set eth0 down和 和有ip link set dev eth0 down什么区别?

命令之间的区别似乎没有记录在任何地方。

ip ifconfig linux-networking

3
推荐指数
1
解决办法
5246
查看次数

命令“ifconfig <interface> 0.0.0.0”有什么作用?

问题很直接,给定的命令是做什么的,它是用来做什么的?

ifconfig <interface-name> 0.0.0.0
Run Code Online (Sandbox Code Playgroud)

我知道 0.0.0.0 表示我本地计算机上的所有 IP 地址。

另外,如果我用此命令弄乱了接口,我该如何重置它?

linux ifconfig interface

3
推荐指数
1
解决办法
5522
查看次数

Fedora 17 ifconfig eth0 返回错误信息,为什么linux将eth0改为em1?

我全新安装了 64 位的 Fedora 17。一切正常,当我插入互联网电缆时,它会自动连接到互联网。

所以当我发出这个命令时我有点困惑:

el@defiant ~ $ ifconfig eth0
Run Code Online (Sandbox Code Playgroud)

我得到错误:

eth0: error fetching interface information: Device not found
Run Code Online (Sandbox Code Playgroud)

找不到设备?这是ifconfig:

ifconfig
Run Code Online (Sandbox Code Playgroud)

我明白了:

em1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
    inet 192.168.1.102  netmask 255.255.255.0  broadcast 192.168.1.255
    inet6 fe80::ea40:f2ff:fee1:58c  prefixlen 64  scopeid 0x20<link>
    ether e8:40:f2:e1:05:8c  txqueuelen 1000  (Ethernet)
    RX packets 44753  bytes 51284267 (48.9 MiB)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 34222  bytes 4294174 (4.0 MiB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    device interrupt …
Run Code Online (Sandbox Code Playgroud)

linux ethernet fedora ifconfig

2
推荐指数
1
解决办法
4790
查看次数

当我的机器没有网络时,如何使用ifconfig将广播IP添加到os/x下的loopback接口?

我是高级网络管理的新手,我想用 UDP 广播做一些测试,所以我需要在我的环回接口上一个广播地址。机器离线,即没有网络。

我怎样才能做到这一点,ifconfig而不必在建议的评论中作为一名用户购买交换机。在 Linux 中,我所要做的就是使用 127.255.255.255 并且广播工作正常,无需任何网络或任何交换机。如果我有网络,显然我可以使用 255.255.255.255。


您可以通过以下方法自行检查它是否在 linux 上有效,但在 os/x 中无效:

  1. 打开两个终端并在它们上输入:

    nc -u -l 55555

  2. 打开第三个终端,必要时安装 socat 并输入:(以防您问 netcat 不支持广播

    echo -n "TEST" | socat - udp-datagram:127.255.255.255:55555,broadcast

  3. 您应该看到两个终端都收到了消息。

如果您对 127.0.0.1 尝试相同的实验,则只有一个终端会按预期收到消息。

在 OS X 上执行相同的测试不会表现出相同的行为。

如果可能的话,我正在寻找一种用于广播的软件解决方法。
我不能使用多播(它必须是广播),也不能通过网络(机器离线)进行测试。

networking mac-osx udp ifconfig

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

应调整哪些内核参数来修复 RX 溢出?

我有一台 Centos 6 服务器,可以处理大量流量。我发现 RX 溢出一直在增加:

RX packets:11191345002 errors:0 dropped:0 overruns:35592596 frame:0
TX packets:15262461573 errors:0 dropped:0 overruns:0 carrier:0
RX bytes:1871320014951 (1.7 TiB)  TX bytes:12673638434114 (11.5 TiB) 
Run Code Online (Sandbox Code Playgroud)

根据http://www.tldp.org/LDP/nag2/x-087-2-iface.ifconfig.html

当数据包进入的速度快于内核处理最后一个中断的速度时,通常会发生接收器溢出。

应该调整哪些内核参数来解决这个问题?

networking ifconfig centos6

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

Amazon EC2 上的静态公共 IP 地址

我在 Amazon EC2 服务器上运行 Ubuntu。我有一个公共 IP 地址 ( 52.38.20.76)。

我无法将公共 IP 地址绑定到 UDP 端口:

udp listen 52.38.20.76:3478: Cannot assign requested address
Run Code Online (Sandbox Code Playgroud)

因此,我试图更改 ifconfig 以显示公共 IP 地址而不是私有 IP 地址。但是,我尝试过的网络更改没有奏效。

编辑 /etc/network/interfaces.d/eth0.cfg

# The primary network interface
auto eth0
#iface eth0 inet dhcp
iface eth0 inet static
address 52.38.20.76
netmask 255.255.255.0
gateway 172.31.32.1
dns-nameservers 8.8.8.8 8.8.4.4
Run Code Online (Sandbox Code Playgroud)

网关,我基于一个route -n命令的结果:

目标网关 Genmask Flags Metric Ref Use Iface
0.0.0.0 172.31.32.1 0.0.0.0 UG 0 0 0 eth0
172.31.32.0 0.0.0.0 255.255.240.0 U 0 0 …

ubuntu ifconfig static-ip amazon-ec2

2
推荐指数
1
解决办法
2162
查看次数

eth0:0 已配置但未在 ifconfig 输出中列出

我有以下问题:

我的服务器获得了来自 [b] 不同 [/b] 子网的两个 IP。现在我正在尝试配置系统以使其正常工作。我创造了

[root@server ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
# Intel Corporation 80003ES2LAN Gigabit Ethernet Controller (Copper)
HWADDR=00:30:48:DA:B1:0E
DEVICE=eth0
BOOTPROTO=none
BROADCAST=79.174.69.255
IPADDR=79.174.69.241
NETMASK=255.255.254.0
NETWORK=79.174.68.0
ONBOOT=yes
GATEWAY=79.174.68.1
TYPE=Ethernet

[root@server ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0:0
# Intel Corporation 80003ES2LAN Gigabit Ethernet Controller (Copper)
HWADDR=00:30:48:DA:B1:0E
DEVICE=eth0
BOOTPROTO=none
BROADCAST=79.174.69.255
IPADDR=79.174.71.74
NETMASK=255.255.255.0
NETWORK=79.174.71.1
ONBOOT=yes
GATEWAY=79.174.71.1
TYPE=Ethernet
Run Code Online (Sandbox Code Playgroud)

但是在“服务网络重启”和“重启”之后

[root@server ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:30:48:DA:B1:0E
          inet addr:79.174.71.74  Bcast:79.174.71.255  Mask:255.255.255.0
          inet6 addr: fe80::230:48ff:feda:b10e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:910284 errors:0 dropped:0 overruns:0 frame:0 …
Run Code Online (Sandbox Code Playgroud)

networking ifconfig eth0

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