Heim  >  Fragen und Antworten  >  Hauptteil

Linux下如何选择不同的网卡进行网络访问?Python或者其他

是这样的,我有一台远程的Linux服务器(Debian系统),上面有两块网卡,同样的IP。

我现在需要选择第二块网卡,因为这块网卡连上了CMCC的专线,可以进行一些CMCC的业务操作。但是默认的使用的是第一块网卡。

不知道如何实现选择不同的网卡进行网络访问。
谢谢


谢谢各位的回答,总结了各位的答案,我成功的解决了问题。
一开始两个网卡同个IP是服务器那边配置出了问题,没有配置第二个网卡的内网IP,现在配置了之后两个网卡分别有两个IP地址。

首先运行nmcli查看两个网卡的网关:

sudo nmcli dev list

其中的IP4的GW就是网关的,可以直接这样查看:

sudo nmcli dev list | grep gw

然后记着那张需要的网卡的gw地址xxx.xxx.xxx.xx,然后使用下面这条命令:

sudo route add -host xxx.xxx.xxx.xxx gw xxx.xxx.xxx.xx

其中第一个是需要制定访问eth1网卡的Host地址,第二个是前面查到的网关的内容。

再次感谢大家的热心帮助。
"

ringa_leeringa_lee2766 Tage vor490

Antworte allen(4)Ich werde antworten

  • 高洛峰

    高洛峰2017-04-17 13:13:05

    我做毕业设计的时候就撞过这个。当时的需求和你的差不多:

    • FC18系统
    • 双网卡
    • 一个连了标准路由器:ADSL宽带上网,国内外网站访问快,不能访问校内专属资源
    • 一个连了校园网内网:访问外网弹Web认证界面,但可以访问校内专属资源,无需认证且享局域网网速
    • 系统当时的默认行为好像是乱搞的……

    我把当时做的笔记共享一下。

    北航校园网特性

    • 速度不稳定,受校园网使用人数影响明显。
    • 内网传输快,校园网内的计算机都处在同一局域网内。
    • 国内互联网访问速度一般。
    • 国外互联网速度差。
    • 网上查询北航的网段在:202.112.128.0/202.122.143.255,证实财务处、校园网认证、网络中心等学校机构网站都在此范围内。

    Fedora的路由配置

    因为我寝室电脑用的是Fedora,所以以Fedora为例。Windows下怎么配置不是很清楚。首先用双网卡,同时连接校园网端口,和ADSL宽带用的路由器。

    对连接北航内网的适配器p17p1编辑网络属性:

    • IPv4设置:自动(DHCP)
    • IPv4设置-路由:地址202.112.128.0 子网掩码255.255.240.0 网关192.168.11.33 公制
    • [V]忽略自动获取的路由
    • [V]仅将此连接用于相对应网络上的资源

    对连接ADSL公网的wlan0,无需编辑网络属性,保持自动。

    效果

    • 能够访问财务处、网络中心等通过公网不能访问的北航校内网站。此时数据走校园网。
    • 访问任何其他网站能够获得稳定的速度。此时数据走ADSL宽带。

    补充一下,两块网卡的IP相同没什么稀奇的,也没什么需要考虑的。重要的是调查到CMCC业务专线对方服务器的IP或IP段。这个方法仅使用解析到的对方IP地址,决定数据走哪块网卡。

    Antwort
    0
  • 天蓬老师

    天蓬老师2017-04-17 13:13:05

    route add -net CMCC的网段 netmask xxx dev 第二块网卡的名字
    

    Antwort
    0
  • 大家讲道理

    大家讲道理2017-04-17 13:13:05

    Python 程序的话,在 socket.connect 之前 socket.bind(('需要用的本地网卡IP', 0)) 就可以了。

    Antwort
    0
  • 巴扎黑

    巴扎黑2017-04-17 13:13:05

    这个用Linux下的策略路由就能搞定
    1. 编辑路由表,增加CMCC专线的表项

    vim /etc/iproute2/rt_tables
    200      cmcc
    

    2.比如eth2的网卡IP是124.0.0.1,CMCC专线的网段为124.127.101.0/24,可以如下配置

    ETH2=eth2
    IP2=124.0.0.1
    SEGMENT2=124.127.101.0/24
    
    TABLE2=cmcc
    
    ip route add $SEGMENT2 dev $ETH2 src $IP2 table $TABLE2
    ip route add default via $IP2 table $TABLE2
    
    ip rule add from $IP2 table $TABLE2
    

    Antwort
    0
  • StornierenAntwort