1. 程式人生 > >單主機多網絡卡位於同一個網段

單主機多網絡卡位於同一個網段

一個裝置有兩張網絡卡,一個乙太網卡,一個wifi無線網絡卡,如route命令輸出的,

eth0的IP地址是10.12.39.10;wlan0的IP地址是10.12.39.11;

當eth0的RJ45介面的網線連上,wlan0的無線wifi不連上。

發現ping eth0,發現能ping通;ping wlan0時,發現也能ping通。反過來,發現也能ping通。

現象:

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.12.39.0      0.0.0.0         255.255.255.0   U     0      0        0 eth0
10.12.39.0      0.0.0.0         255.255.255.0   U     0      0        0 wlan0
224.0.0.0       0.0.0.0         240.0.0.0       U     0      0        0 eth0
0.0.0.0         10.12.39.254    0.0.0.0         UG    0      0        0 eth0
通過以下命令設定後;

發現ping eth0通而ping wlan0時不同。

echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
 
實踐發現,下述命令也會需要
 
echo 1 > /proc/sys/net/ipv4/conf/all/arp_filter

 if (arp->ar_op == htons(ARPOP_REQUEST) &&
 843         ip_route_input_noref(skb, tip, sip, 0, dev) == 0) {
 844 
 845         rt = skb_rtable(skb);
 846         addr_type = rt->rt_type;
 847 
 848         if (addr_type == RTN_LOCAL) {
 849             int dont_send;
 850 
 851             dont_send = arp_ignore(in_dev, sip, tip);
 852             if (!dont_send && IN_DEV_ARPFILTER(in_dev))
 853                 dont_send = arp_filter(sip, tip, dev);
 854             if (!dont_send) {
 855                 n = neigh_event_ns(&arp_tbl, sha, &sip, dev);
 856                 if (n) {
 857                     arp_send(ARPOP_REPLY, ETH_P_ARP, sip,
 858                          dev, tip, sha, dev->dev_addr,
 859                          sha);
 860                     neigh_release(n);
 861                 }
 862             }
 863             goto out;
 864         } else if (IN_DEV_FORWARD(in_dev)) {
 865             if (addr_type == RTN_UNICAST  &&
 866                 (arp_fwd_proxy(in_dev, dev, rt) ||
 867                  arp_fwd_pvlan(in_dev, dev, rt, sip, tip) ||
 868                  (rt->dst.dev != dev &&
 869                   pneigh_lookup(&arp_tbl, net, &tip, dev, 0)))) {
 870                 n = neigh_event_ns(&arp_tbl, sha, &sip, dev);
 871                 if (n)
 872                     neigh_release(n);
 873 
 874                 if (NEIGH_CB(skb)->flags & LOCALLY_ENQUEUED ||
 875                     skb->pkt_type == PACKET_HOST ||
 876                     in_dev->arp_parms->proxy_delay == 0) {
 877                     arp_send(ARPOP_REPLY, ETH_P_ARP, sip,
 878                          dev, tip, sha, dev->dev_addr,


相關推薦

主機位於同一個

一個裝置有兩張網絡卡,一個乙太網卡,一個wifi無線網絡卡,如route命令輸出的, eth0的IP地址是10.12.39.10;wlan0的IP地址是10.12.39.11; 當eth0的RJ45介面的網線連上,wlan0的無線wifi不連上。 發現ping eth0,發

彈性支援私IP

分配私網多IP 目前私網多IP功能只支援IPv4且白名單開放,白名單申請請提交工單。 您需要一臺支援私網多IP的ECS。支援私網多IP的ECS規格可通過介面DescribeInstanceTypes查詢。 為ECS的主網絡卡或輔助網絡卡分配私網多IP。分配私網多IP介面Assi

CentOS下bond聚合與橋結合

需求:伺服器配置bond多網絡卡聚合,然後KVM需要使用到網橋,那麼需要做到網橋繫結到bond網絡卡上。 實現核心: 1、bond配置參考:https://www.cnblogs.com/EasonJim/p/10019634.html 2、網橋配置參考:https://www.cnblogs.com/

C/C++:Windows程式設計—程式碼獲取本地所有資訊(描述,IP地址,子掩碼,MAC地址)

先看效果 看程式碼 使用 GetAdaptersInfo 函式獲取網絡卡的所有資訊。 MSDN函式說明 https://docs.microsoft.com/en-us/windows/desktop/api/iphlpapi/nf-iphlpapi-getadapters

linux如何新增新並修改配置檔案

如何給linux虛擬機器新增網絡卡,並給配置修改網絡卡資訊 環境:VMware Workstation  系統:Centos  步驟一:關機、新增網絡卡硬體: 1、網路介面卡 2、新增 3、選中網路介面卡   下一步 4、

centos7修改名稱、繫結

Linux系統在大多數企業運用中都佔據著及其重要的作用,但是從centos7開始我們發現安裝完作業系統後,網絡卡名稱發生了變化,不在是以前的eth0這樣命名了。這對於我們使用起來有很多的不便。 本文將介紹如何修改網絡卡名稱,及雙網絡卡繫結。 [[email pro

Linux 系統雙實現內埠轉發

1. 環境: (1) 一臺 Linux 系統主機,此機器有雙網絡卡:eth0 連線外網,eth1 連線內網。假定通向外網的 eth0 的連線資訊如下(可以是靜態 IP,也可以是 DHCP):inet addr: 192.168.3.100 Gateway: 192.168.

linux 雙在同一的解決辦法

Multiple Interfaces on Same Ethernet Broadcast Network   ------------------------------------------------------   Due to the default ARP

配置無線和有線分別上內外的方法

場景: 到機房去部署應用,需要內網才可以連線到伺服器,部署的同時可能經常需要查資料,也就需要連線外網,然而同時使用wifi和有線的時候,要麼都走wifi,要麼都走有線,導致內外網不能同時訪問,要一直切換,非常麻煩。 解決方案: 利用route配置路由,然後XXX.XXX.

使用wifi筆記1----選型、開發環境搭建、核心配置

  |   Location:                                                                                |   |     -> Device Drivers                              

vc獲取mac地址(無線和有線

獲取網絡卡的MAC地址的方法很多,如:Netbios,SNMP,GetAdaptersInfo等。經過測試發現 Netbios 方法在網線拔出的情況下獲取不到MAC,而 SNMP 方法有時會獲取多個重複的網絡卡的MAC,試來試去還是 GetAdaptersInfo 方法比較

linux 檢視以及開啟

檢視網絡卡個數: ifconfig -a  啟動網絡卡:ifup enp0s8 如果不行請手動新增網絡卡 vim /etc/network/interfaces 然後儲存  重新啟動 if

linux驅動之驅動-虛擬驅動編寫

我們來實現這麼一個目的 我ping 3.3.3.4的時候,按理說如果是真實網絡卡的話,我們3.3.3.3的機器,和3.3.3.4的機器。ping 3.3.3.4的時候3.3.3.3的機器會把包發給3.3.3.4,3.3.3.4收到包之後又會把包發給3.3.3.3 在驅

有線與無線同時使用

注意: 這裡的172.16.x.x 和192.168.1.X 和你的區域網環境有關,可以命令列下ipconfig /all 檢視 區域網有線連線(網段172.16.X.X,不提供接入internet服務),WIFI連線(網段192.168.1.X,可連線網際網路)。如果同時連線有線網絡卡和無線網絡

虛擬機器(伺服器)配置雙實現內外同時訪問

Step1 虛擬機器硬體新增網絡卡 將網線連結至物理伺服器 開啟配置-網路 ,選擇新增網路 連線型別選擇虛擬機器 ,下一步 選擇建立vSphere標準交換機 並正確選擇網線連線的網絡卡,下一步

區分虛擬與物理

若系統中安裝了 VMWare 或者某些 VPN 客戶端軟體,則會出現若干虛擬網絡卡。它們在形式上與物理網絡卡幾乎沒有區別。 ipconfig 將它們與本地物理網絡卡等同對待。 那如何在如何區分虛擬網絡卡還是物理網絡卡呢? 有些人建議使用 MAC 地址中的 "locally

C# 區分無線和有線的MAC

C# 獲取MAC地址 方法一: 使用 ManagementClass string strMAC = ""; ManagementClass MC = new ManagementClass("Win32_NetworkAdapterConfiguration"); ManagementObjec

VMware克隆虛擬機器後再新增1塊,雙機器無法啟動解決辦法

ESX 4.1版本虛擬主機,使用Vsphere Client登入 Vcenter登入,虛擬機器克隆後又新增了一個168網絡卡,起先兩個網絡卡地址配顛倒了,竟然eth1配192.168.*.107網絡卡可以聯通,奇怪 168網絡卡eth1:mac地址00:50:56:80:

嵌入式 hi3518c平臺上無線rtl8188eu系列移植

首先修改driver下驅動檔案中的Makefile檔案: 新增自己的平臺,我的平臺是hi3518c,具體操作如下:#add the new platform hi3518c alter by kj CONFIG_PLATFORM_HI_3518C = y 新增平臺的編譯選項: #add the compi

socket 通過 ioctl獲取 設定 IP 子掩碼 本地廣播地址

參看 http://blog.chinaunix.net/uid-20692625-id-3172833.html 類別 Request 說明 資料型別 套  接  口 SIOCATMARK  SIOCSPGRP  SIOCGPGRP 是否位於帶外標