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地址划分不同的上网网络,似乎没有其它的解决办法:)
   发散思维一下:知其然还要知其所以然嘛.为啥两个网卡一个网关的时候,只设置一个网卡有网关呢?因为linux会自动帮你设置路由!它会把你设置的网关设置成默认路由.这时候如果你设置两个网关.linux帮你随机选的默认路由可能是不能上网的那个或者说不是你想要的那个哟~再拓展一下,其实linux就是一个完整的路由器!只是它很低调默认取消的路由功能罢了.如果你正在学习路由方面的相关知识,没有那么多路由器,来做一些高级实验,像ospf,pgp等,不妨多装几个linux你会有意外的惊喜.
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐