标签: ifconfig

为什么在Mac OS X上将Wi-Fi称为en0,就像以太网一样?

Linux多年来一直是我的主要系统.在Linux中,以太网硬件设备名称类似eth0enp1s0(后者我只看到Arch Linux的).无线网卡的名称一直都是wlan0或者wlp2s0(后者在Arch上).在我的新MacBook Air上,分配了无线网络en0,我读过它代表以太网.此外,即使我没有以太网端口,也有一个en1.这个命名约定是什么意思?

macos networking wireless ethernet ifconfig

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

如果没有从DHCP获取静态IP(脚本)

我在linux上使用嵌入式设备.我想先使用DHCP客户端,但如果DHCP服务器没有应答,我想设置静态默认IP.我想这应该不复杂,但我没有找到严格的答案.

我正在考虑2个解决方案(不幸的是我可以在几天内测试它们):

  1. 我用ifconfig设置静态IP,然后我调用udhcpc.如果udhcpc无法获得新的IP,旧的IP将保留.

  2. 我也可以先调用udhcpc,稍等片刻,检查是否获得了IP.但这对我来说并不好.我不想在启动时添加任何等待例程.

BR Bartek

我使用udhcpc - 类似于:

udhcpc -n -f -i eth0 
if ifconfig | grep -A1 eth0 | grep inet 
    then 
Run Code Online (Sandbox Code Playgroud)

linux ip dhcp ifconfig

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

找不到ifconfig命令

我刚刚在我的mac上安装了CentOS7作为虚拟机(osx10.9.3 + virtualbox)运行ifconfig返回命令未找到.另外运行sudo/sbin/config会返回找不到的命令.这是echo $ PATH

/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/robbert/.local/bin:/home/robbert/bin

我的路径正常吗?如果没有,我该如何更改?

此外,我还没有在虚拟机上连接互联网,也许这是一个因素.

请记住我是学生,对某些术语很新.

linux command centos ifconfig

10
推荐指数
3
解决办法
4万
查看次数

用于端口侦听的 Vagrant IP 地址设置

我在我的 vagrant 实例中运行这个命令:

printf 'HTTP/1.1 302 Moved\r\nLocation: https://www.eff.org/' | nc -l 2345

在我的主机上,我想访问<ip of my vagrant server>:2345并重定向到https://www.eff.org/。重定向不会发生,浏览器只是继续加载。

我的流浪档案:

Vagrant.configure("2") do |config|

  config.vm.box = "ubuntu/trusty64"
  config.vm.network "private_network", ip: "192.168.33.10"
  config.vm.network "public_network" 
  
end
Run Code Online (Sandbox Code Playgroud)

如何设置 Vagrantfile 并确定 vagrant Linux 服务器的 IP 地址,以便在使用端口 2345 的主机上的浏览器中使用?

我试过了:

  • curl ifconfig.me, 得到了: 46.128.200.193
  • hostname -i, 得到了: 2a02:2455:25f:e000:a00:27ff:febd:cd6c%4 10.0.2.15 192.168.33.10 192.168.0.16
  • ifconfig, 得到了:
eth0      Link encap:Ethernet  HWaddr 08:00:27:5f:bb:e6  
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe5f:bbe6/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500 …
Run Code Online (Sandbox Code Playgroud)

linux redirect ifconfig vagrant vagrantfile

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

获取Mac上的"友好界面名称"列表(机场,以太网等)

我正在RealBASIC中开发一个应用程序,但是我需要填充下拉框的接口名称列表.

解析使用ifconfig没有工作(有eth0,eth1,lo,等).我需要系统首选项(以太网,机场等)中显示的名称.

是否有可以解析的终端命令?

macos shell networking ifconfig

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

如何在OSX上设置TUN接口的IP地址(没有目标地址)?

如何在OSX上为TUN接口设置IP地址?我无法弄清楚如何在不指定目标IP的情况下为我的接口设置IP地址.我不想这样做 - 我想要或多或少地在以后的某个时间点建立到任意地址的隧道.先前的问题是无益的:

  1. 一个问题答案不明确,所以我尝试按照参考.
  2. 这个问题为tun设备指定了一个指向ip地址的点,因此它有一个目的地,这正是我不想要的.

osxtuntap的页面上,它说:

ifconfig tap0 10.1.2.3 up
Run Code Online (Sandbox Code Playgroud)

我不能在OSX 10.6上使用TUN接口:

$ sudo ifconfig tun0 10.1.2.3 up
ifconfig: ioctl (SIOCAIFADDR): Destination address required
Run Code Online (Sandbox Code Playgroud)

添加网络掩码没有帮助 - OSX似乎需要目标地址:

$ ifconfig tun0 10.0.0.1/24 netmask 255.255.255.0
ifconfig: ioctl (SIOCAIFADDR): Destination address required
Run Code Online (Sandbox Code Playgroud)

对于linux,我得到它的工作原理.根据这个页面,你打开()接口,并使用ip命令,并执行此操作,我之前做过这个,没有问题:

$ ip link set tun0 up
$ ip addr add 10.0.0.1/24 dev tun0
Run Code Online (Sandbox Code Playgroud)

我想做的就是我在linux中可以做的事情.


编辑:

我正在写一个小的UDP隧道应用程序.像这样:

tun1 - > udp app#1 - > udp tunnel - > udp app#2 - > tun2

如果udp应用程序位于不同的计算机上(假设是本地和远程),我想将他们各自的tun设备与ip地址关联起来,这样我就可以通过隧道将数据包从本地发送到远程数据包了.删除计算机上的tun设备的IP地址. …

ip macos networking ifconfig tun

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

在bash -c中设置变量

我尝试设置从接口IP地址获取的变量,ifconfig然后再读取它.但是当我执行一个echo命令时,变量仍然是空的.请看我的代码:

/usr/bin/bash -c "HOST_IPS=$(/usr/bin/ifconfig | /usr/bin/awk 'BEGIN {cnt=0} {if($0 ~ /inet / && cnt==1) {print $2} cnt++}'); echo $HOST_IPS"
Run Code Online (Sandbox Code Playgroud)

但/ bin/echo使用相同的命令工作正常:

/usr/bin/bash -c "echo $(/usr/bin/ifconfig | /usr/bin/awk 'BEGIN {cnt=0} {if($0 ~ /inet / && cnt==1) {print $2} cnt++}')"
Run Code Online (Sandbox Code Playgroud)

linux bash awk ifconfig

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

Docker 动态更改 mtu?

我有 9 个堆栈的生产 docker swarm,其中大多数都有卷。目前docker正在单节点运行。

我必须添加第二个节点,这是问题开始的地方。尤其是 portainer 的问题是——它变得非常滞后,几乎无法使用。此外,当我将一些容器移动到新节点时,我的项目似乎完全陷入困境 - 问题在于不同节点上的容器之间的通信。有些请求是可以的,但大多数请求似乎都被破坏了。

经过一番研究,我发现问题似乎出在 MTU 上。eth1的MTU是1450,docker默认是1500。

问题是,是否可以即时将 docker 的 MTU 更改为 1450?

我试过:

  1. 将密钥添加到 dockerd --mtu=1450 - docker 服务根本没有启动
  2. 在 docker-compose 中更改主网络的 mtu - 似乎它没有更新,我认为应该重新创建网络
  3. 将 mtu 选项添加到 /etc/docker/daemon.json 似乎也没有效果

如何更改工作生产服务器上的 mtu?可能的停机时间为 10-15 分钟是可以的,但我不想删除所有堆栈并重新创建它们。

如果配置

mtu ifconfig docker docker-swarm

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

所有接口的C/C++ Linux MAC地址

我使用以下代码检索当前计算机的所有MAC地址:

ifreq ifr;
ifconf ifc;
char buf[1024];

int sock = socket(PF_INET, SOCK_DGRAM, IPPROTO_IP);
if (sock == -1) { ... };

ifc.ifc_len = sizeof(buf);
ifc.ifc_buf = buf;
if (ioctl(sock, SIOCGIFCONF, &ifc) == -1) { ... }

ifreq *it = ifc.ifc_req;
const ifreq* const end = it + (ifc.ifc_len / sizeof(ifreq));

for (; it != end; ++it) {
    strcpy(ifr.ifr_name, it->ifr_name);
    if (ioctl(sock, SIOCGIFFLAGS, &ifr) == 0) {
        if (!(ifr.ifr_flags & IFF_LOOPBACK)) {
            if (ioctl(sock, SIOCGIFHWADDR, &ifr) == 0) {
               unsigned char mac_address[6]; …
Run Code Online (Sandbox Code Playgroud)

c linux ioctl mac-address ifconfig

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

在继续bash之前等待网络链接

有没有办法在继续之前检查bash脚本中多个接口的成功网络接口链接?

就像是:

eth0 eth1 eth2 eth3 network interfaces are brought up
Wait for link detection on all 4 interfaces
Proceed
Run Code Online (Sandbox Code Playgroud)

bash networking ping ifconfig

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