Centos 7 下多网卡 IP 以及网关设置

2015-05-20 05:43:04 +08:00
 twl007
上网搜了一下这方面的资料太零散了 解决方法也不一样 而且因为RedHat做大死用NetworkManager导致在rc.local添加脚本也失效了 这个是查了很多文章后找到的

首先提供一个脚本:

https://gist.github.com/strohel/18706603478959a2006c

如果不想手动弄的话是用这个脚本就可以了
PS:请谢谢脚本作者 不是我写的

底下是解释:

Linux底下多网卡的时候会有一个很麻烦的事情 就是多个网关或者一个网关多个网卡或者多个网关多个网卡的时候 系统会选定一个网卡作为默认路由然后你就会发现外部对于别的网卡请求就会全部是失效了 那是因为你的请求收到后回复是走的默认网卡 呵呵

很早之前也遇到过 大概就是给每个网卡创建不同的路由表在/etc/iproute2/rt_tables

创建完后利用

ip route flush table xxx
ip route add default via xxx.xxx.xxx.xxx dev eth0 src xxx.xxx.xxx.xxx table xxx
ip rule add from xxx.xxx.xxx.xxx table xxx

指定每个网卡使用各自独立的路由表 这样问题就解决了

之前在Centos 6的时代可以直接把命令写入到rc.local然后开机自动执行一遍 但是因为在Centos 7中切换到NetworkManager 已经失效 不过解决方法也很简单啦 只需要把写好的脚本放到

/etc/NetworkManager/dispatcher.d/

中就可以在开机自动执行了

这个方法对于多网段多网卡也是Ok的 应该算是一个比较完美的解决方案了 一劳永逸不管设置如何

顺便问大家一个问题 我在nmtui可以选择Never use this network for default connection.

我想问一下这个修改是那个配置文件中的什么选项? 个人表示查了一圈资料也没找到 求大神帮忙解答了…… 实在是好奇怎么做到的……
8590 次点击
所在节点    CentOS
6 条回复
kfll
2015-05-20 08:44:17 +08:00
DEFROUTE=no 这个么
twl007
2015-05-20 11:23:24 +08:00
@kfll 唔 我去查查去 0 0 因为Linux一下默认给我开了三个 简直酸爽…… ~_~; 删还删不掉……
ryd994
2015-05-21 07:59:12 +08:00
你听说过sysconfig么?
/etc/sysconfig/network-scripts/route-eth0
用脚本我也是醉了,你怎么不写个service呢?
twl007
2015-05-21 13:07:48 +08:00
@ryd994 试过不好用 你看看我的设置 我用的是独立路由表 每个网卡一个路由表 再者通过给networkmanager写插件的方式来实现这个有什么问题么 你写个service就能解决这一堆问题?
twl007
2015-05-21 13:12:14 +08:00
@ryd994 或者说你根本就没理解我的意思 你可以按照你的思路给每个网卡自己弄route-eth0 你看看能不能实现ping所有端口都是通的
twl007
2015-05-22 04:18:04 +08:00
@kfll 谢谢啦~~~ 的确是那个 看了一下修改完后果然是那个值变动了 囧

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

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

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

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

© 2021 V2EX