我有一个Linux系统,它有两个以太网接口,eth0和eth1,它们使用在同一个子网上。有时,我看到,即使当其中一个接口断开(电缆断开),Linux继续使用它的IP地址。
例如,如果eth0在插入eth1时断开连接,则可以看到“plugged”命令将eth0报告为默认接口。
~ $ ip ro get 192.168.1.1
192.168.1.1 dev eth0 src 192.168.1.5
因此,scp和ping等工具最终使用了断开连接的接口&失败。
我的问题是,为什么Linux继续使用断开连接的接口?它不应该自动检测和停止使用它们吗?
在192.168.2.0/24和2001:44b8:4112:8a02:://64上具有enp3s0接口的给定计算机中,如果我执行以下操作:
canidae# ip link add dummy0 type dummy
canidae# ip addr add dev dummy0 2001:44b8:4112:8a02::55
canidae# ip addr add dev dummy0 192.168.2.55
canidae# ip link set dummy0 up
ip addr的以下输出确认这两个IP地址都是全局的:
46: dummy0: <BROADCAST,NOA
我使用libvirt/qemu/kvm创建了一个虚拟机,并附带了一个指向Linux桥(virbr1)的点击。在内部,VM的IP为10.99.0.9。并具有以下路由设置。
default via 10.99.0.1 dev enp1s0 proto static onlink
10.99.0.1 via 10.99.0.1 dev enp1s0 proto static onlink
这里的10.99.0.1是桥的IP
我希望来自该VM的所有流量都转到我设置的VPN路由(wg0),所以在主机上,我做到了。
ip route add default dev wg0 table 42
ip ru
我们正在尝试合并两个具有重叠IP空间的网络:这是目前为止的配置:
interface Tunnel1
description VPN Port CompanyA
ip vrf forwarding LAN
ip address 172.18.0.79 255.255.255.0
ip nat enable
tunnel source GigabitEthernet0/1
tunnel destination 1.1.1.2
tunnel vrf DSL
end
interface GigabitEthernet0/0
description LAN Port CompanyB
在Arch Linux ARM (Raspberry Pi)内核4.4.37上,我创建了一个macvlan。
ip link add link eth0 mac0 type macvlan
然后,macvlan虚拟网卡出现在列表中,因此我给它分配了一个IP地址,并将链接状态设置为up。(顺便说一下,我尝试过bridge、vepa和private模式。)
然后,我可以从我的Windows客户端平IP,但是当我在Windows中检查ARP缓存(arp -a)时,它们显示的是与主(物理)网络适配器相同的MAC地址,而不是新创建的macvlan MAC地址。
我确保清除ARP缓存,尝试一个客户以前从未
如果我发送一个ARP包,我能从recv中找到发送者的IP地址吗?我这样问是因为我发送了多个包到不同的主机上子进程,并且我收到了所有子进程的响应,所以我想知道有没有办法知道哪个子进程发送了什么package.Thank。
struct ether_arp req;
struct sockaddr_ll addr={0};
struct ifreq inter;
int sock;//I check usinginter if the interface is correct
sock=socket(AF_PACKET,SOCK_DGRAM,htons(ETH_P_ARP));
if (sock
我有一个带有一个实数的Linux盒(与虚拟的,即.a相反)。我可以使用的以太网接口(eth0用于其他用途--不能使用它,也不能添加更多的NIC)。说是eth1
我需要通过SNMP来控制一些对象/实体,所以我为每个对象设置了一个虚拟以太网接口,并设置了其适当的MAC地址。我是这样做的(例如vif1):
ip -family inet link add link eth1 name vif1 address <the MAC addr> type macvlan
ip link set vif1 up multicast on
ip route del default dev vif1
我想用不同的ip创建1000个macvlan。并使用ip rule路由不同的公共ip到多个接口的互联网。
首先创建1000 macvlan:
ip link add link eth0 address %02x:%02x:%02x:%02x:%02x:%02x eth0_%d type macvlan
%02x是mac地址,%d是0-999.
然后使用ifconfig设置每个macvlan不同的公共ip。最后,使用ip规则:
ip route add default via ${router} dev ${interface} src ${ip} table ${interfaceidx}
i
在我的网络中,我试图通过基于Linux的软件桥来确定流量的优先级。当我在本地(在承载桥的机器上)生成流量时,流量被正确地排序。但是,“远程”通信量(来自通过桥接器的其他节点)没有被排序(向所有发件人分配相同的带宽)。也许有人知道原因?
桥为I350网络适配器设置如下(Linux5.1.81-Manjaro #1 SMP抢占孙俊9 20:44:14 UTC 2019 x86_64 GNU/Linux):
brctl addbr br0
ip link set dev enp1s0f0 promisc on
ip link set dev enp1s0f1 promisc on
ip link s
使用底部的代码,我试图arp毒害我网络上的一个目标(在本例中,是一个iPhone)。
然而,在使用过程中,如果手机真的转到网站或其他什么地方,它就不会接通。它所接收到的信息大致如下:
Ether / ARP who has 1xx.1xx.x.17 says xxx.xxx.x.5
Ether / ARP is at 00:5x:cx:8x:6x:61 says 1xx.xxx.x.17
Ether / ARP is at 00:2x:c7:6x:xx:94 says 1xx.xxx.x.5
Ether / ARP is at 00:00:00:00:00:00 says 1xx.xxx.x.
如果Linux机器中的两个NIC使用外部电缆直接连接,那么是否有可能通过该电缆在这两个NIC之间启动IP连接?
我用IP地址eth2和eth3分别配置了10.10.123.2/24和10.10.123.3/24两个NIC。然后,我从local表中删除了与这两个接口关联的所有规则:
# ip rule
0: from all lookup local
32766: from all lookup main
32767: from all lookup default
# ip route show table local | grep -E "eth2|eth3
我有一个带有两个NIC的Linux虚拟服务器。
eth0 <IP1>
eth1 <IP2>
arp_filter被打开,rp_filter被设置为2(松散模式)。
策略路由配置如下:
table T1
default via <GW> dev eth0 src <IP1>
127.0.0.0/8 dev lo
<LAN> dev eth0 src <IP1>
table T2
default via <GW> dev eth1 src <IP2>
127.0.0.0/8 dev lo
<LA