IP route

 如何实现主机之间跨路由跨网段通讯。

实验:主机A <<----- router1-----router2------>>主机B
第一步:将主机A和router1之间使用桥接,主机A的ip为172.16.10.200/16,gw172.16.0.254,router1连接主机A接口的IP是172.16.0.254
第二步:将router1和router2之间使用NET连接IP地址分别是 10.0.0.7/24  10.0.0.8/24
第三步:router2与主机B之间使用仅主机模式连接IP地址分别是 192.168.10.254/24  192.168.10.200/24 
第四步:ip地址都配置完成后给router1添加路由(下一跳):route add -net 192.168.10.0/24 gw 10.0.0.8
然后给router2添加路由(下一跳): route add -net 
172.16.0.0/16 gw 10.0.0.7
第五步分别启用router1,router2的内核参数
echo 1 >  /proc/sys/net/ipv4/ip_forward 

![image](https://img2020.cnblogs.com/blog/2226193/202103/2226193-20210321033118714-379929405.png)


添加指定的网关
default via        默认通过
proto static       原型静态
# dev              输入设备
# ip route         查看路由
# label              标签

 绑定mac和IP对应关系
 arp -s 10.0.0.14   00:0c:29:60:9a:5f
 
 第一步:将主机A和router1之间使用桥接,主机A的ip为172.16.10.200/16,gw172.16.0.254,router1连接主机A接口的IP是172.16.0.254
第二步:将router1和router2之间使用NET连接IP地址分别是 10.0.0.7/24  10.0.0.8/24
第三步:router2与主机B之间使用仅主机模式连接IP地址分别是 192.168.10.254/24  192.168.10.200/24 
第四步:ip地址都配置完成后给router1添加路由(下一跳):route add -net 192.168.10.0/24 gw 10.0.0.8
然后给router2添加路由(下一跳): route add -net 
172.16.0.0/16 gw 10.0.0.7
第五步分别启用router1,router2的内核参数
echo 1 >  /proc/sys/net/ipv4/ip_forward 


A- 修改网卡的地址和网关                  桥接模式                    ubuntu2004  

# ifconfig eth0:1 172.16.0.200/16        
==   # ip a a 172.16.0.200/16   dev eth0  label eth0:1 添加地址
# ip route  add  default  via  172.16.0.254 dev  eth0:1  proto  static                                     增加网关

手动添加
# vim /etc/netplan/01-netcfg.yaml
GW:172.16.0.254  


 R1- 添加ip和网关 eht1                           桥接模式    centos7

增加网卡eth1
或1)添加地址
# ip a a 172.16.0.254/16  dev  eth1  
# ifconfig eth0:1 192.16.10.254/24 
==  # ip a a  192.16.10.254/24 dev eth0 label eth0:1  添加地址
# ip route add default via 10.0.0.8 dev eth0:1 proto static                                            添加网关


或2)添加地址
# ip a a 172.16.0.254/16  dev  eth1
# route add 192.168.10.0/24 gw 10.0.0.8    添加地址和网关



手动添加
# vim  ifcfg-eth1  
BOOTPROTO=none
NAME=eth1
DEVICE=eth1
ONBOOT=yes
PREFIX=16
IPADDR=172.16.0.254


# nmcli  connection  reload   
# nmcli  connection  up eth1
# echo 1 > /proc/sys/net/ipv4/ip_forwoard


R2- 添加网卡eth1                 **仅主机**                                                    centos8

增加网卡eth1
或1)添加地址
# ip a a 192.168.0.254/24  dev  eth1  
# ifconfig eth0:1 172.16.0.254/16 
==  # ip a a  172.16.0.254/16 dev eth0 label eth0:1  添加地址
# ip route add default via 10.0.0.7 dev eth0:1 proto static                                            添加网关


或2)添加地址
# ip a a 192.168.10.254/24  dev  eth1
# route add 172.16.0.0/16   gw 10.0.0.8    添加地址和网关



# cp  ifcfg-eth0  ifcfg-eth1
# nmcli connection   up  eth1
# vim ifcfg-eth1                
DEVICE=eth1
NAME=eth1
BOOTPROTO=static
IPADDR=198.168.10.254
PREFIX=24
ONBOOT=yes


# nmcli  connection  reload   
# nmcli  connection  up eth1
# echo 1 > /proc/sys/net/ipv4/ip_forward


 B- 添加了ip和网关                                                                 ubuntu1804


# ip a a  192.16.0.200/24  dev eth0 label eth0:1
# ip route default via 192.16.10.254 dev eth0:1  proto static
 


# vim /etc/netplan/01-netcfg.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      addresses:
      - 192.16.0.200/24
      gateway4:   192.16.10.254
      nameservers:
        addresses: [ 180.76.76.76, 223.6.6.6]

posted @   Jackiezhu  阅读(498)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示