我有一台戴尔 XPS 13 超级本,它有一个 wifi 网卡,但没有物理以太网网卡(wlan0,但没有 eth0)。我需要为使用与流浪NFS创建一个虚拟适配器,但我发现,典型的ifup eth0:1...失败ignoring unknown interface eth0:1=eth0:1。我也尝试创建一个针对 的虚拟接口wlan0,但收到了相同的结果。
如何在这台没有物理接口的机器上创建虚拟接口?
问题: 如何在启动程序的同时确保其网络访问是通过特定网络接口绑定的?
案例: 我想使用相同的 IP (192.168.1.1) 访问两台不同的机器,但可以通过两个不同的网络接口(eth1 和 eth2)访问。
例子:
net-bind -D eth1 -exec {Program 192.168.1.1}
net-bind -D eth2 -exec {Program 192.168.1.1}
Run Code Online (Sandbox Code Playgroud)
以上是我想要的近似值,灵感来自通过primusrun和optirun完成的硬件绑定。
挑战:正如在相关线程中所建议的,所使用的接口不是由程序选择的,而是由内核选择的(因此是上例中的预绑定语法)。
我找到了一些相关的解决方案,但并不令人满意。它们基于通过用户特定的网络黑名单绑定网络接口;即,以只能访问单个特定网络接口的用户身份运行该进程。
我有一个服务在 127.0.0.1 上运行,端口为 2222。我需要将所有请求转发到 192.168.2.2:2222(外部 IP),仅从子网 192.168.1.0/24 到 127.0.0.1:2222。
我正在尝试使用它,但它不起作用。
$ iptables -t nat -I PREROUTING -p tcp -d 192.168.1.0/24 --dport 2222 -j DNAT --to-destination 127.0.0.1:2222
Run Code Online (Sandbox Code Playgroud)
我怎样才能让它发挥作用?
UPD:编辑地址方案。
我有一个基于 Linux 的进程控制器,它偶尔会锁定到无法 ping 的程度(即我可以 ping 它,然后如果不对网络设置进行任何修改,它就不再可 ping 通)。
我很好奇,什么进程/系统负责实际响应 ping?看来这个过程正在崩溃。
我知道如何使用 来创建桥梁brctl,但我被建议不要再使用它,而使用iproute2或ip代替(因为brctl大概已弃用)。假设这是一个很好的建议,我如何使用ip? 例如,假设我想桥接eth0和eth1。
与之前关于查找网络设备名称的问题类似,我想获得一个(可靠的)设备名称列表,但仅适用于 Wi-Fi 设备。根据您的命名结构,它看起来如下所示:
wlan0
wlan1
Run Code Online (Sandbox Code Playgroud)
或者
wlp5s0
wlp5s1
Run Code Online (Sandbox Code Playgroud) 根据 Debian网络设置文档中的allow-hotplug <interface_name>节,/etc/network/interfaces当内核从接口检测到热插拔事件时,文件中的节会启动一个接口。这个热插拔事件是什么?
我正在通过修改/etc/sysconfig/network-scripts.
修改后的网络脚本内容如下:
# cat /etc/sysconfig/network-scripts/ifcfg-nic0
DEVICE=nic0
BOOTPROTO=static
ONBOOT=yes
HWADDR=xx:xx:xx:xx:xx:xx
USERCTL=no
IPV6INIT=no
MASTER=bond0
SLAVE=yes
Run Code Online (Sandbox Code Playgroud)
重新启动会激活新配置。但是如何在不重新启动的情况下激活此配置?
Asystemctl restart network不起作用。
我可以按旧名称 ( ifdown eth0)关闭一个接口,但ifup无论提供旧名称还是新名称,都会导致以下消息:
错误:[/etc/sysconfig/network-scripts/ifup-eth] 设备 nic0 似乎不存在,延迟初始化。
/etc/init.d/network status 显示此输出:
Configured devices:
lo bond0 nic0 nic1
Currently active devices:
lo eth0 eth1 bond0
Run Code Online (Sandbox Code Playgroud)
两者,ifconfig并ip a显示旧的接口名称。
我在服务器端有两个网卡, eth0 ?192.168.8.140 和 eth1 ?192.168.8.142。客户端向 192.168.8.142 发送数据,我希望iftop显示 eth1 的流量,但它没有。所有网络都经过eth0,那么如何测试两个网卡?
为什么所有的流量都通过 eth0 而不是 eth1?我预计每个接口可以获得 1 Gbit/s。我的设置或配置有什么问题?
如果配置
eth0 Link encap:Ethernet HWaddr 00:00:00:19:26:B0
inet addr:192.168.8.140 Bcast:0.0.0.0 Mask:255.255.252.0
inet6 addr: 0000::0000:0000:fe19:26b0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:45287446 errors:0 dropped:123343 overruns:2989 frame:0
TX packets:3907747 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:66881007720 (62.2 GiB) TX bytes:261053436 (248.9 MiB)
Memory:f7e00000-f7efffff
eth1 Link encap:Ethernet HWaddr 00:00:00:19:26:B1
inet addr:192.168.8.142 Bcast:0.0.0.0 Mask:255.255.255.255
inet6 addr: 0000::0000:0000:fe19:26b1/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 …Run Code Online (Sandbox Code Playgroud) 在一致的网络设备命名方案下,eno16777736CentOS 7 或 RHEL 7 的网络接口名称中的“eno”代表什么?