Ubuntu 多 ip 如何指定访问外网的 ip? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yiqiuwang
V2EX    问与答

Ubuntu 多 ip 如何指定访问外网的 ip?

  •  
  •   yiqiuwang 2017-06-05 06:58:36 +08:00 6001 次点击
    这是一个创建于 3107 天前的主题,其中的信息可能已经有所发展或是发生改变。
    vps 有 3 个 ip 地址,分别绑定在 eth1,eth2,eth3 网卡上.
    默认的设置是由 eth1 上的 ip 访问外网,我如何设置使 eth2 的 ip 访问外网,而不是 eth1.

    (当我设置 eth2 的网关为默认网关时,eth1 与 eth3 的 ip 都无法连通.
    11 条回复    2017-06-05 09:45:10 +08:00
    shiji
        1
    shiji  
       2017-06-05 07:13:18 +08:00 via Android
    思路是把默认的 ip route 转给你想要的那个出口 ip。
    话说为什么要绑三个 eth, 一般都把所有 IP 绑 eth0 上
    izoabr
        2
    izoabr  
       2017-06-05 07:16:44 +08:00


    #ip ro sh
    yiqiuwang
        3
    yiqiuwang  
    OP
       2017-06-05 07:27:36 +08:00
    @shiji 具体如何操作呢,谢谢.
    Sharuru
        4
    Sharuru  
       2017-06-05 08:02:52 +08:00 via Android
    多网卡是为了类似内外网隔离么?
    搜索双网卡配置即可,主要思路就是启用一个 gateway,其他网卡通过路由设定( ip route )把流量转发。
    catror
        5
    catror  
       2017-06-05 08:11:00 +08:00 via Android
    配置一下路由就行,内网的地址路由到内网网关
    xfspace
        6
    xfspace  
       2017-06-05 08:11:56 +08:00 via Android
    https://serverfault.com/questions/248056/set-default-outgoing-ip-on-ubuntu-server-with-multiple-ips
    学会使用搜索引擎...

    如不熟悉,建议开 TK 让商家更改。
    yiqiuwang
        7
    yiqiuwang  
    OP
       2017-06-05 08:51:58 +08:00 via iPhone
    @catror
    @Sharuru
    三个网卡绑定的都是公网 ip
    mooncakejs
        8
    mooncakejs  
       2017-06-05 08:57:41 +08:00 via iPhone
    代理可以指定 outgoing
    shiji
        9
    shiji  
       2017-06-05 09:02:11 +08:00
    @yiqiuwang 我没有信心给你一个拿过去就直接能用的方案。。。
    这玩意儿 Ubuntu 一个样,Debian 一个样,新旧版本其实也有区别。。
    楼上给的那个链接是 6 年前的,eth0:0 eth0:1 这种写法如今已经渐渐不用了。

    反正你先把你的 interfaces 贴出来让大家看看,注意打码。
    一般出口 IP 是跟着你的网关地址走的,既然你改了网关出问题了,就让我看看你当前的配置文件吧。。
    jasontse
        10
    jasontse  
       2017-06-05 09:17:20 +08:00 via iPad
    auser
        11
    auser  
       2017-06-05 09:45:10 +08:00   1
    没有一个回答说到点的

    多网卡与 公网 IP 下的网络配置,肯定是离不开策略路由的。策略路由保证了数据包怎么来的就怎么回的,还保证了以某公网 IP 为源的包,可以正确送到对应的网关上头。Linux 下这方面的功能是通过 iproute2 里的 ip rule 配合 /etc/iproute2/rt_tables 配置实现的。

    这里有一个细节问题,就是两块网卡分到的公网 IP 属于同一个段,这时在 ARP 方面会有与期望不一致的现象。如果存在这种情况,需要单独处理下。Linux 是弱端类型的网络,默认的,只看 IP 属不属于当前主机,不看属不属于网卡。当然,这种情况正确的实现方式,是把同一网段的 IP 都加到同一块网卡,然后通过设置默认路由的 src 属性来指定那块网卡默认用哪个源 IP 出去。

    之前用过 4 块网卡,分属 4 个运营商。从优化角度而言,你需要在 default 路由下,根据运营商 IP 段设置路由,以便实现最佳的本机对外访问效果。这里边的细节问题又比较多,比如 iptables 工具实现一些功能。通常多网卡环境下的业务需求是会用到这些东西的。

    题主在这方面知识跟经验有较大欠缺,短时间内不太好能掌握。建议耐心,抓包自己好好熟悉下。急不得。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     795 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 21:39 PVG 05:39 LAX 13:39 JFK 16:39
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86