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

2015-08-02 23:55:36 +08:00
 ioiioi
如题,alias ip跟eth0的ip是同一个网段的不同IP地址,我希望出去的数据包的源ip地址是alias ip,而不是eth0 ip,如何实现?
3398 次点击
所在节点    Linux
6 条回复
lowstz
2015-08-03 00:25:07 +08:00
策略路由
http://www.lartc.org/lartc.pdf 第四章
ioiioi
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
2015-08-03 07:45:42 +08:00
如果是你自己写的程序,你自己可bind一下,bind到alias IP。
ioiioi
2015-08-03 08:35:59 +08:00
@jedihy
嗯,我不会写程序,不过我在用别人的程序,也提供了bind的选项,但是未生效,所以只好通过系统级来解决这个问题。
chinabrowser
2015-08-08 07:43:02 +08:00
iptables大法好
auser
2015-08-14 21:32:33 +08:00
每个IP对应一个网关,执行
ip ro re default via 网关

Linode申请了三个IP 我写了个脚本 核心函数就是这么搞的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/210318

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX