不同网段虚拟机,互相访问时的路由配置,附路由知识学习

本文介绍了当虚拟主机192.168.90.247需要访问192.168.91.XX网段的数据库时,如何配置路由以实现互通。主要步骤包括添加路由条目,如route -p add 192.168.91.0 mask 255.255.255.0 192.168.90.3,并详细解释了路由命令的各个参数含义,如-f、-p、-4|-6等。同时,给出了查看、添加、删除和修改路由的实例。

事情实例:

虚拟主机:192.168.90.247需要访问192.168.91.XX网段的数据库,无法访问。

1、这里要考虑一下添加一个路由,目的地址为192.168.91.XX,掩码为255.255.255.0,网关为如图所示

2、这里添加一个路由为:route  -p add 192.168.91.0 mask 255.255.255.0 192.168.90.3

 路由知识(转)

ROUTE [-f] [-p] [-4|-6] command [destination] [MASK netmask]  [gateway] [METRIC metric]  [IF interface]

  -f           清除所有网关项的路由表。如果与某个
               命令结合使用,在运行该命令前,
               应清除路由表。
  -p           与 ADD 命令结合使用时,将路由设置为
               在系统引导期间保持不变。默认情况下,重新启动系统时,
               不保存路由。忽略所有其他命令,
               这始终会影响相应的永久路由。Windows 95
               不支持此选项。
  -4           强制使用 IPv4。
  -6           强制使用 IPv6。

  command      其中之一:
                 PRINT     打印路由
                 ADD       添加路由
                 DELETE    删除路由
                 CHANGE    修改现有路由
  destination  指定目的主机或者目的网段的网络地址。
  MASK         指定下一个参数为“网络掩码”值。
  netmask      指定此路由项的子网掩码值(目的主机或者目的网段的子网掩码)。
               如果未指定,其默认设置为 255.255.255.255。
  gateway      指定网关(下一跳)。
  interface    指定路由的接口号码。
  METRIC       指定跃点数,例如目标的成本。

实例:

1. 查看所有的路由表信息

route print

2. 添加一条路由条目

route add 157.0.0.0 MASK 255.0.0.0  157.55.80.1 

route add 157.0.0.0 MASK 255.0.0.0  157.55.80.1 METRIC 3

route add 157.0.0.0 MASK 255.0.0.0  157.55.80.1 METRIC 3 IF 2

3. 添加一条永久路由条目(-p 表示永久路由,重启后不丢失)

route -p add 157.0.0.0 MASK 255.0.0.0  157.55.80.1 

4. 删除路由条目

route delete 157.0.0.0

5. 修改路由条目(CHANGE 只用于修改网关和/或跃点数)

route CHANGE 157.0.0.0 MASK 255.0.0.0 157.55.80.5 METRIC 2 IF 2

 

 

<think>嗯,用户想在Linux虚拟机配置路由访问网段的IP地址。我需要先回顾一下相关的知识,然后结合之前提供的引用内容来给出正确的步骤。 首先,路由配置通常使用route或ip命令。根据引用[2],用户之前遇到的问题是添网关后网络不可达,解决方法是通过route add来指定网段和接口。所以,我应该建议用户先检查现有路由表,确定需要添路由规则。 然后,用户可能需要添静态路由。例如,如果要访问192.168.2.0/24这个网段,而网关是192.168.1.1,那么命令应该是route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.1 dev eth0。或者使用ip命令,如ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0。引用[2]中的例子也用了类似的语法,所以这部分应该没问题。 接下来,永久生效的问题。用户可能不想每次重启都重新配置,所以需要修改配置文件。CentOS和Ubuntu的配置文件路径不同,CentOS是/etc/sysconfig/network-scripts/route-ethX,而Ubuntu是/etc/network/interfaces。需要提醒用户根据系统选择合适的配置方式。 另外,引用[3]提到多虚拟机网段通信需要配置多个网卡和路由规则,这可能涉及到多个网关的设置。需要确保路由规则指向正确的接口和网关,避免冲突。比如,如果有多个网卡,每个网卡处理不同网段的流量,那么静态路由需要分别指定。 还要注意网络是否可达的问题,比如子网掩码是否正确,网关是否实际可达。用户之前遇到的Network unreachable可能是因为网关不在同一网段,或者接口没有正确启用。建议用户检查网卡状态和IP配置是否正确,使用ifconfig或ip addr命令确认。 防火墙设置也可能影响路由,需要暂关闭防火墙或添相应规则测试。SELinux也可能干扰,但通常路由问题较少涉及SELinux,不过可以提一下。 最后,验证部分,使用ping和traceroute测试连通性,确保路由生效。如果还是不行,可能需要检查物理网络设备(如虚拟交换机的设置)是否允许跨网段通信,或者是否有其他网络策略阻止。 总结步骤应该是:检查现有路由,添路由,测试,然后永久保存配置。同注意不同发行版的配置文件差异,以及多网卡情况下的正确路由指向。</think>### 分步说明 在Linux虚拟机配置网段路由访问,需通过`route`或`ip route`命令实现静态路由配置,并通过配置文件实现永久生效。以下是具体步骤: --- #### **1. 查看当前路由表** 使用以下命令查看现有路由规则: ```bash route -n # 或 ip route show ``` 输出示例: ``` Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33 172.16.1.0 0.0.0.0 255.255.255.0 U 100 0 0 ens37 ``` 此步骤用于确认目标网段是否已存在路由规则[^2]。 --- #### **2. 添静态路由** 若需访问目标网段`192.168.2.0/24`且网关为`192.168.1.1`,执行: ```bash # 使用传统route命令 sudo route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.1 dev ens33 # 或使用ip命令(推荐) sudo ip route add 192.168.2.0/24 via 192.168.1.1 dev ens33 ``` 参数说明: - `-net`: 目标网络地址 - `via`: 网关地址 - `dev`: 出口网卡名称(需与当前网络环境匹配) > 注意:若出现`Network is unreachable`错误,需确保网关地址与当前网卡IP在同一子网[^2]。 --- #### **3. 永久生效配置** 不同Linux发行版配置文件路径不同: - **CentOS/RHEL**: 编辑网卡配置文件(如`/etc/sysconfig/network-scripts/route-ens33`): ``` ADDRESS0=192.168.2.0 NETMASK0=255.255.255.0 GATEWAY0=192.168.1.1 ``` - **Ubuntu/Debian**: 在`/etc/network/interfaces`中添: ``` up ip route add 192.168.2.0/24 via 192.168.1.1 dev ens33 ``` 重启网络服务: ```bash # CentOS sudo systemctl restart network # Ubuntu sudo systemctl restart networking ``` --- #### **4. 验证路由配置** 使用以下命令测试连通性: ```bash ping 192.168.2.100 # 测试目标IP traceroute 192.168.2.100 # 查看路由路径 ``` --- #### **5. 多网卡场景配置** 若虚拟机有多个网卡(如`ens33`和`ens37`),需明确指定出口网卡: ```bash sudo ip route add 10.1.1.0/24 via 172.16.1.1 dev ens37 ``` 此配置适用于通过`ens37`网卡访问`10.1.1.0/24`网段[^3]。 --- ### **关键问题排查** 1. **网关不可达**:确认网关IP与当前网卡IP在同一子网(通过`ifconfig`或`ip addr`检查)。 2. **防火墙限制**:临关闭防火墙测试: ```bash sudo iptables -F ``` 3. **路由优先级**:若存在多条路由规则,使用`metric`参数调整优先级。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值