V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
ioiioi
V2EX  ›  Linux

一张网卡除了 eth0 的 ip,还有一个 alias ip,如何让出去的数据包的源地址固定为 alias ip?

  •  
  •   ioiioi · 2015-08-02 23:55:36 +08:00 · 3379 次点击
    这是一个创建于 3396 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如题,alias ip跟eth0的ip是同一个网段的不同IP地址,我希望出去的数据包的源ip地址是alias ip,而不是eth0 ip,如何实现?
    6 条回复    2015-08-14 21:32:33 +08:00
    lowstz
        1
    lowstz  
       2015-08-03 00:25:07 +08:00
    策略路由
    http://www.lartc.org/lartc.pdf 第四章
    ioiioi
        2
    ioiioi  
    OP
       2015-08-03 00:57:51 +08:00
    我找到了一个简单的解决办法:

    http://ubuntuforums.org/showthread.php?t=1715807

    我的情况正好跟他相反:

    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 52:54:00:37:26:02 brd ff:ff:ff:ff:ff:ff
    inet 192.168.33.94/24 brd 192.168.33.255 scope global eth0
    inet 192.168.33.95/32 scope global eth0

    chenrui@d7-64-gw-2:~$ ip route show
    default via 192.168.33.254 dev eth0 src 192.168.33.95

    主要是要在default gateway后面加上src 192.168.33.95,命令是:

    ip route change default via 192.168.33.254 dev eth0 src 192.168.33.95
    jedihy
        3
    jedihy  
       2015-08-03 07:45:42 +08:00
    如果是你自己写的程序,你自己可bind一下,bind到alias IP。
    ioiioi
        4
    ioiioi  
    OP
       2015-08-03 08:35:59 +08:00
    @jedihy
    嗯,我不会写程序,不过我在用别人的程序,也提供了bind的选项,但是未生效,所以只好通过系统级来解决这个问题。
    chinabrowser
        5
    chinabrowser  
       2015-08-08 07:43:02 +08:00 via Android
    iptables大法好
    auser
        6
    auser  
       2015-08-14 21:32:33 +08:00
    每个IP对应一个网关,执行
    ip ro re default via 网关

    Linode申请了三个IP 我写了个脚本 核心函数就是这么搞的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3327 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 12:28 · PVG 20:28 · LAX 04:28 · JFK 07:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.