Linux多年来一直是我的主要系统.在Linux中,以太网硬件设备名称类似eth0或enp1s0(后者我只看到Arch Linux的).无线网卡的名称一直都是wlan0或者wlp2s0(后者在Arch上).在我的新MacBook Air上,分配了无线网络en0,我读过它代表以太网.此外,即使我没有以太网端口,也有一个en1.这个命名约定是什么意思?
我在linux上使用嵌入式设备.我想先使用DHCP客户端,但如果DHCP服务器没有应答,我想设置静态默认IP.我想这应该不复杂,但我没有找到严格的答案.
我正在考虑2个解决方案(不幸的是我可以在几天内测试它们):
我用ifconfig设置静态IP,然后我调用udhcpc.如果udhcpc无法获得新的IP,旧的IP将保留.
我也可以先调用udhcpc,稍等片刻,检查是否获得了IP.但这对我来说并不好.我不想在启动时添加任何等待例程.
BR Bartek
我使用udhcpc - 类似于:
udhcpc -n -f -i eth0
if ifconfig | grep -A1 eth0 | grep inet
then
Run Code Online (Sandbox Code Playgroud) 我刚刚在我的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
我的路径正常吗?如果没有,我该如何更改?
此外,我还没有在虚拟机上连接互联网,也许这是一个因素.
请记住我是学生,对某些术语很新.
我在我的 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.193hostname -i, 得到了: 2a02:2455:25f:e000:a00:27ff:febd:cd6c%4 10.0.2.15 192.168.33.10 192.168.0.16ifconfig, 得到了: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) 我正在RealBASIC中开发一个应用程序,但是我需要填充下拉框的接口名称列表.
解析使用ifconfig没有工作(有eth0,eth1,lo,等).我需要系统首选项(以太网,机场等)中显示的名称.
是否有可以解析的终端命令?
如何在OSX上为TUN接口设置IP地址?我无法弄清楚如何在不指定目标IP的情况下为我的接口设置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地址获取的变量,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) 我有 9 个堆栈的生产 docker swarm,其中大多数都有卷。目前docker正在单节点运行。
我必须添加第二个节点,这是问题开始的地方。尤其是 portainer 的问题是——它变得非常滞后,几乎无法使用。此外,当我将一些容器移动到新节点时,我的项目似乎完全陷入困境 - 问题在于不同节点上的容器之间的通信。有些请求是可以的,但大多数请求似乎都被破坏了。
经过一番研究,我发现问题似乎出在 MTU 上。eth1的MTU是1450,docker默认是1500。
问题是,是否可以即时将 docker 的 MTU 更改为 1450?
我试过:
如何更改工作生产服务器上的 mtu?可能的停机时间为 10-15 分钟是可以的,但我不想删除所有堆栈并重新创建它们。
我使用以下代码检索当前计算机的所有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) 有没有办法在继续之前检查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)