关于linux的默认网关

默认网关是一个用于 TCP/IP 协议的配置项,是一个可直接到达的 IP 路由器的 IP 地址。配置默认网关可以在 IP 路由表中创建一个默认路径。 一台主机可以有多个网关。默认网关的意思是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包。现在主机使用的网关,一般指的是默认网关。  一台电脑的默认网关是不可以随随便便指定的,必须正确地指定,否则一台电脑就会将数据包发给不是网关的电脑,从而无法与其他网络的电脑通信。默认网关的设定有手动设置和自动设置两种方式。
linux装系统设IP,这应该是系统管理员的基本功,可是不同的网络结构有不同的ip设法。
1.一块网卡的情况
通过命令address,netmask,gateway然后netwok restart。
2.两块网卡的情况
1).一个网关的情况
这种情况也简单,一个网卡设一个ip,其中一个网卡不设置gateway就ok了。这样上网的时候走带网关的那边,这台机器还能和不带网关的那个网络通讯。这种情况在利用linux当路由器或者代理网关的时候比较常见。
2).两个网关的情况
这种情况相对复杂,复杂到两块网卡都不设置默认网关,这种情况发生在这台linux连接的两个网段都不是一个网段,就是通过连接的两个网段还可以访问其它的不同的网段。这种情况下,无论把gateway设到哪边,都会影响到另一个网段所连接的网段不能正常使用。这就是我今天最想表述的问题。在这种情况,如果你想连接多个网段,首先要在正确的网卡上设置正确的ip,剩下的工作就交给route来做了。利用route命令把能上网或者想通过那边上网的网关设置成默认网关,这样就解决了一个网段了。另一个段和它所连接的所有网段。就要一条一个的加路由了。示例:
默认网关:
route add default gw 224.224.224.224 eth0
加路由:
route add -net 192.168.115.0/24 gw 192.168.1.254 eth1
没有学习过路由知识的同学可能不大理解加路由为啥去115段的连接,要走1.254.这是因为,加路由的时候,指定下一跳,只指定和本机连接的那个网关:)
3).三个网卡的情况
和两个网卡类似。如果你的需求是,一个网段通过两个不同的网络上网,中间又夹着这么一个linux的话,个人觉得除了用iptables根据不同的ip地址划分不同的上网网络,似乎没有其它的解决办法。

了解windows下默认网关的配置,请阅读windows下双网卡双网关的设置