Linux操作系统

<p class="shortdesc"></p> <section class="section" id="Linux_OS__section_czr_x5l_svb"><h2 class="doc-tairway">添加临时路由</h2> <p class="p">ECS_A 主机执行以下命令。</p> <div class="p"> <pre class="pre codeblock" id="Linux_OS__codeblock_tl2_1vl_svb"><code># 查看 eth0 和 eth1 网卡的网关,可以从DHCP信息里面获取 grep routers /var/lib/dhclient/dhclient-eth0.leases | tail -1 | awk '{print $3}' | sed 's/;//g' 10.16.117.1 grep routers /var/lib/dhclient/dhclient-eth1.leases | tail -1 | awk '{print $3}' | sed 's/;//g' 10.17.56.1 # 此例当中,eth0 网卡的网关是 10.16.117.1, eth1 网卡的网关 10.17.56.1 # 添加到ECS_B主机网段的路由规则 ip route add 10.17.60.0/25 via 10.17.56.1 dev eth1 # 确认路由添加成功 ip route show | grep 10.17.60.0/25 # 输出内容为10.17.60.0/25 via 10.17.56.1 dev eth1 # 因平安金融云agent等功能需要默认网卡连接服务器端,需要确认默认路由走eth0 ip route show | grep default # 输出内容为default via 10.16.117.1 dev eth0 # 如果缺少默认路由,则需要手动加上 ip route add default via 10.16.117.1 dev eth0</code></pre> </div> <p class="p">ECS_B 主机添加临时路由方法与ECS_A一样,只是目的网络和网关不一样。</p> <div class="p"> <pre class="pre codeblock" id="Linux_OS__codeblock_r34_cvl_svb"><code># 按照在ECS_A主机上面获取eth0,eth1默认网关的方法,首先同样获取ECS_B的默认网关 # 命令不再重复列出。 # 本例当中,ECS_B 的 eth0 网关为10.16.192.1,eth1 网关为10.17.60.1 # 添加到ECS_A主机网段的路由规则 ip route add 10.17.56.0/25 via 10.17.60.1 dev eth1 # 确认路由添加成功 ip route show | grep 10.17.56.0/25 # 输出内容为10.17.56.0/25 via 10.17.60.1 dev eth1 # 因平安金融云agent等功能需要默认网卡连接服务器端,需要确认默认路由走eth0 ip route show | grep default # 输出内容为default via 10.16.192.1 dev eth0 # 如果缺少默认路由,则需要手动加上 ip route add default via 10.16.192.1 dev eth0</code></pre> </div> </section> <section class="section" id="Linux_OS__section_ocr_dvl_svb"><h2 class="doc-tairway">添加静态路由</h2> <p class="p">添加临时路由后可以通过eth1访问到对方主机,但是如果ECS主机重启,则这条路由策略会丢失,需要将它写入配置文件。</p> <p class="p"><strong class="ph b">注意事项</strong></p> <p class="p">静态路由并不是在添加文件后就立即生效,它的作用是在网卡被拉起的过程(可以是OS启动或者是执行ifup)中自动添加路由。如果需要立即能够通过eth1网卡相互访问,并且在OS或者网卡重启后也能保留这条路由,请先添加临时路由,再添加静态路由。</p> <p class="p"><strong class="ph b">CentOS/Red Hat Enterprise Linux 系统</strong></p> <p class="p">在ECS_A主机,创建eth1网卡的路由配置文件 /etc/sysconfig/network-scripts/route-eth1。</p> <p class="p">添加以下内容</p> <div class="p"> <pre class="pre codeblock" id="Linux_OS__codeblock_whn_lvl_svb"><code>10.17.60.0/25 via 10.17.56.1</code></pre> </div> <p class="p">在ECS_B主机,同样创建eth1网卡的路由配置文件 /etc/sysconfig/network-scripts/route-eth1。</p> <div class="p">添加以下内容<pre class="pre codeblock" id="Linux_OS__codeblock_lyv_mvl_svb"><code>10.17.56.0/25 via 10.17.60.1</code></pre></div> <p class="p"><strong class="ph b">Debian/Ubuntu 系统</strong></p> <div class="p">对于Debian以及 16.04 或者以下版本的Ubuntu系统,在ECS_A主机编辑 /etc/network/interfaces 文件,添加如下红色的两行内容。<pre class="pre codeblock" id="Linux_OS__codeblock_bm4_4vl_svb"><code># This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet dhcp auto eth1 iface eth1 inet dhcp up ip route add 10.17.60.0/25 via 10.17.56.1 dev eth1 up ip route change default via 10.16.117.1 dev eth0</code></pre></div> <div class="p">ECS_B主机同样的配置文件和位置,添加如下配置行。<pre class="pre codeblock" id="Linux_OS__codeblock_izf_qvl_svb"><code>up ip route add 10.17.56.0/25 via 10.17.60.1 dev eth1 up ip route change default via 10.16.192.1 dev eth0</code></pre></div> <div class="p">对于 Ubuntu 18.04 , 它的默认网络管理工具已经换成了netplan,因此静态路由添加需要修改 /etc/netplan/01-netcfg.yaml 配置文件,在 eth1 配置段增加红色配置行。<pre class="pre codeblock" id="Linux_OS__codeblock_ct4_rvl_svb"><code>network: version: 2 renderer: networkd ethernets: eth0: dhcp4: true nameservers: search: [cloud.papub] addresses: [100.68.10.22, 100.68.10.23] eth1: dhcp4: true optional: true routes: - to: 10.17.60.0/25 via: 10.17.56.1</code></pre></div> <div class="p">ECS_B 主机同样的配置文件和位置,添加如下配置行。<pre class="pre codeblock" id="Linux_OS__codeblock_vny_svl_svb"><code> routes: - to: 10.17.56.0/25 via: 10.17.60.1</code></pre></div> </section>
以上内容是否解决了您的问题?
请补全提交信息!
联系我们

电话咨询

400-151-8800

邮件咨询

fincloud@ocft.com

在线客服

工单支持

解决云产品相关技术问题