Centos6和7 ip和网关不在同一网段

作者 :
免费
  • 正文
  • 目 录

    这两天安装了Centos6.9,配置服务器的IP是192.168.147.9,子网掩码是255.255.255.0,而网关是192.168.20.1,两个不在同一网段,配置后不能正常上网,需要做路由(route命令)

    解决方法:

    使用route命令

    1、将网关作为主机路由添加到表;
    route add -host 192.168.20.1 netmask 0.0.0.0 dev em1

    2、正常方式将网关作为默认路由添加到表里
    route add default gw 192.168.20.1 netmask 0.0.0.0 dev em1

    注:上面只是临时,重启服务或重启服务器后不保存。

    保存方法修改:vi /etc/sysconfig/network

    Centos6和7 ip和网关不在同一网段-完美源码

    Centos6和7 ip和网关不在同一网段-完美源码

    vi /etc/sysconfig/network-scripts/ifcfg-em1  #配置的ip如下图:

    Centos6和7 ip和网关不在同一网段-完美源码

    route命令

    route命令用来显示并设置Linux内核中的网络路由表,route命令设置的路由主要是静态路由。要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。

    在Linux系统中设置路由通常是为了解决以下问题:该Linux系统在一个局域网中,局域网中有一个网关,能够让机器访问Internet,那么就需要将这台机器的ip地址设置为Linux机器的默认路由。要注意的是,直接在命令行下执行route命令来添加路由,不会永久保存,当网卡重启或者机器重启之后,该路由就失效了;可以在/etc/rc.local中添加route命令来保证该路由设置永久有效。

    语法

    route(选项)(参数)

    选项

    -A:设置地址类型;
    -C:打印将Linux核心的路由缓存;
    -v:详细信息模式;
    -n:不执行DNS反向查找,直接显示数字形式的IP地址;
    -e:netstat格式显示路由表;
    -net:到一个网络的路由表;
    -host:到一个主机的路由表。

    参数

    Add:增加指定的路由记录;
    Del:删除指定的路由记录;
    Target:目的网络或目的主机;
    gw:设置默认网关;
    mss:设置TCP的最大区块长度(MSS),单位MB;
    window:指定通过路由表的TCP连接的TCP窗口大小;
    dev:路由记录所表示的网络接口。

    实例

    显示当前路由:

    [root@localhost ~]# route
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    112.124.12.0    *               255.255.252.0   U     0      0        0 eth1
    10.160.0.0      *               255.255.240.0   U     0      0        0 eth0
    192.168.0.0     10.160.15.247   255.255.0.0     UG    0      0        0 eth0
    172.16.0.0      10.160.15.247   255.240.0.0     UG    0      0        0 eth0
    10.0.0.0        10.160.15.247   255.0.0.0       UG    0      0        0 eth0
    default         112.124.15.247  0.0.0.0         UG    0      0        0 eth1
    
    [root@localhost ~]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    112.124.12.0    0.0.0.0         255.255.252.0   U     0      0        0 eth1
    10.160.0.0      0.0.0.0         255.255.240.0   U     0      0        0 eth0
    192.168.0.0     10.160.15.247   255.255.0.0     UG    0      0        0 eth0
    172.16.0.0      10.160.15.247   255.240.0.0     UG    0      0        0 eth0
    10.0.0.0        10.160.15.247   255.0.0.0       UG    0      0        0 eth0
    0.0.0.0         112.124.15.247  0.0.0.0         UG    0      0        0 eth1

    其中Flags为路由标志,标记当前网络节点的状态,Flags标志说明:

    • U Up表示此路由当前为启动状态。
    • H Host,表示此网关为一主机。
    • G Gateway,表示此网关为一路由器。
    • R Reinstate Route,使用动态路由重新初始化的路由。
    • D Dynamically,此路由是动态性地写入。
    • M Modified,此路由是由路由守护程序或导向器动态修改。
    • ! 表示此路由当前为关闭状态。

    添加网关/设置网关:

    route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0    #增加一条到达244.0.0.0的路由。

    屏蔽一条路由:

    route add -net 224.0.0.0 netmask 240.0.0.0 reject     #增加一条屏蔽的路由,目的地址为224.x.x.x将被拒绝。

    删除路由记录:

    route del -net 224.0.0.0 netmask 240.0.0.0
    route del -net 224.0.0.0 netmask 240.0.0.0 reject

    删除和添加设置默认网关:

    route del default gw 192.168.120.240
    route add default gw 192.168.120.240
    
    

    Centos7添加静态路由

    一、ip route显示和设定路由

    1、显示路由表

    [root@centos7 ~]# ip route show
    default via 192.168.150.254 dev enp0s3  proto static  metric 1024
    192.168.150.0/24 dev enp0s3  proto kernel  scope link  src 192.168.150.110

    太难看了,格式化一下(显示的是默认网关和局域网路由,两行的内容没有共通性):

    [root@centos7 tmp]# ip route show|column -t
    default           via  192.168.150.254  dev    enp0s3  proto  static  metric  1024
    192.168.150.0/24  dev  enp0s3           proto  kernel  scope  link    src     192.168.150.110

    2、添加静态路由

    Centos6和7 ip和网关不在同一网段-完美源码
    [root@centos7 ~]# ip route add 10.15.150.0/24 via 192.168.150.253 dev enp0s3
    [root@centos7 ~]#
    [root@centos7 ~]# ip route show|column -t
    default           via  192.168.150.254  dev    enp0s3  proto  static  metric  1024
    10.15.150.0/24    via  192.168.150.253  dev    enp0s3  proto  static  metric  1
    192.168.150.0/24  dev  enp0s3           proto  kernel  scope  link    src     192.168.150.110
    [root@centos7 ~]#
    [root@centos7 ~]# ping 10.15.150.1
    PING 10.15.150.1 (10.15.150.1) 56(84) bytes of data.
    64 bytes from 10.15.150.1: icmp_seq=1 ttl=63 time=1.77 ms
    64 bytes from 10.15.150.1: icmp_seq=1 ttl=63 time=1.08 ms
    64 bytes from 10.15.150.1: icmp_seq=1 ttl=63 time=1.57 ms
    ^C
    Centos6和7 ip和网关不在同一网段-完美源码

    3、删除静态路由

    只需要把 add 替换成 del,或者更简单的只写目标网络

    [root@centos7 ~]# ip route del 10.15.150.0/24

    二、设置永久的静态路由

    1、添加永久静态路由

    ip route 指令对路由的修改不能保存,重启就没了。把 ip route 指令写到 /etc/rc.local 也是徒劳的。

    RHEL7官网文档没有提到 /etc/sysconfig/static-routes,经测试此文件已经无效;

    /etc/sysconfig/network 配置文件仅仅可以提供全局默认网关,语法同 Centos6 一样: GATEWAY=<ip address> ;

    永久静态路由需要新建文件 vi /etc/sysconfig/network-scripts/route-ens33(开头是route-网卡名) 文件中,比如添加两条静态路由:

    [root@centos7 ~]# vi /etc/sysconfig/network-scripts/route-enp0s3
    10.15.150.0/24 via 192.168.150.253 dev enp0s3
    10.25.250.0/24 via 192.168.150.253 dev enp0s3

    重启计算机,或者重新启用设备enp0s3才能生效。

    [root@centos7 ~]# nmcli dev connect enp0s3

    一般直接连接一次设备即可,如果不成功就先断开设备再连接设备,注意必须两个指令一起运行,否则,,,,,,你晓得。

    [root@centos7 ~]# nmcli dev disconnect enp0s3 && nmcli dev connect enp0s3

    2、清除永久静态路由

    可以删除 ifcfg-enp0s3文件或者注释掉文件里的相应静态路由条目,重启计算机。

    想要让修改后的静态路由立即生效,只能用 ip route del 手工删除静态路由条目。

    实验的过程中出现两个奇怪的现象:

    1)有时候路由生效了但是在 ip route show 却没有显示,重启计算机后是肯定显示的,原因暂时不明。

    2)存在多个网卡时,默认路由似乎是随机经由某个网卡设备。检查了所有连接配置文件后发现,第一网卡的默认连接配置文件 ifcfg-eth0 设置了GATEWAY0(此设置会覆盖/etc/sysconfig/network 定义的全局默认网关),第二网卡的连接配置文件 ifcfg-eth1 使用的是dhcp,会在启动时也分配默认网关,两个默认网关让计算机糊涂了。这是在测试系统里经常发生的现象,生产系统一般不会让网卡用dhcp,或者即使是用了也会仔细分配默认网关防止冲突。

    其他需要注意的:

    1)连接配置文件 ifcfg-* 里可以设置多个GATEWAY,一般第一个是 GATEWAY0,然后GATEWAY1, GATEWAY2... ,尾号最大的有效;

    2)如果必须在/etc/sysconfig/network 文件定义全局网关,连接配置文件 ifcfg-* 就不要设置GATEWAY了,dhcp的连接要注意dhcp服务器不要定义默认网关。

    3)ifcfg-enp0s3 文件改名为 ifcfg-eth0 后,route-enp0s3 文件也要改名为 route-eth0。

    END
    如本资源侵犯了您的权益,请联系投诉邮箱admin@wmphp.com进行举报!我们将在收到邮件的1个小时内处理完毕。 本站仅为平台,发布的资源均为用户投稿或转载!所有资源仅供参考学习使用,请在下载后的24小时内删除,禁止商用! Wmphp.com(完美源码)助力正版,如您有自己的原创产品,可以联系客服投稿,代理出售! Wmphp.com(完美源码)客服QQ:136882447 Wmphp.com(完美源码)商务电话(仅对企业客户/个人用户):15120086569 (微信同步) 请注意:本站不提供任何免费的技术咨询服务,为了节约时间,下载前 请确认自己会技术
    完美源码 » Centos6和7 ip和网关不在同一网段
    3494+

    本站勉强运行

    3673+

    用户总数

    690+

    资源总数

    0+

    今日更新

    2024-4-8

    最后更新时间