欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

CentOS7下如何配置ip forward(虚拟路由器)

程序员文章站 2023-12-04 16:21:10
linux 中ip forward功能是一个比较方便实用的功能,只需要简单配置,添加几条路由,即可实现ip转发。本文基于centos 7下采取一台机器充当虚拟路由,来实现w...

linux 中ip forward功能是一个比较方便实用的功能,只需要简单配置,添加几条路由,即可实现ip转发。本文基于centos 7下采取一台机器充当虚拟路由,来实现windows环境与linux环境中相互通信。具体见下文,供大家参考。

一、环境及需求说明

CentOS7下如何配置ip forward(虚拟路由器)

本地测试环境,由于win7+vmware这台机器网卡太新,无法被vmware exsi识别,无奈之下就直接装了个win7,然后再上面基于vmware workstation 12开启了一些临时测试的虚拟机。其次本地直连网段192.168.1.0 ip有限,而又希望直接从本机(如图win10) ssh连接到这些虚拟机,因此考虑使用linux的ip转发功能来实现。

上述图片中已经列出了各个节点的ip信息,红色的虚拟机充当软路由,配置好之后,实现win10 直接ssh到虚拟机。

二、虚拟路由服务器配置

###查看网卡信息
[root@centos7-router ~]# ip addr
1: lo: <loopback,up,lower_up> mtu 65536 qdisc noqueue state unknown 
  link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
  inet 127.0.0.1/8 scope host lo
   valid_lft forever preferred_lft forever
  inet6 ::1/128 scope host 
   valid_lft forever preferred_lft forever
2: eno16777728: <broadcast,multicast,up,lower_up> mtu 1500 qdisc pfifo_fast state up qlen 1000
  link/ether 00:0c:29:9c:eb:2d brd ff:ff:ff:ff:ff:ff
  inet 172.24.8.254/24 brd 172.24.8.255 scope global eno16777728
   valid_lft forever preferred_lft forever
  inet6 fe80::20c:29ff:fe9c:eb2d/64 scope link 
   valid_lft forever preferred_lft forever
3: eno33554960: <broadcast,multicast,up,lower_up> mtu 1500 qdisc pfifo_fast state up qlen 1000
  link/ether 00:0c:29:9c:eb:37 brd ff:ff:ff:ff:ff:ff
  inet 192.168.1.175/24 brd 192.168.1.255 scope global dynamic eno33554960
   valid_lft 82384sec preferred_lft 82384sec
  inet6 fe80::20c:29ff:fe9c:eb37/64 scope link 
   valid_lft forever preferred_lft forever

###查看路由表
[root@centos7-router ~]# route -n
kernel ip routing table ###缺省情况下,每块网卡都有一个基于本网段的路由记录
destination  gateway    genmask    flags metric ref  use iface
0.0.0.0    192.168.1.1  0.0.0.0    ug  100  0    0 eno33554960
172.24.8.0   0.0.0.0    255.255.255.0 u  100  0    0 eno16777728
192.168.1.0  0.0.0.0    255.255.255.0 u  100  0    0 eno33554960

###使用ip命令方式查看路由
[root@centos7-router ~]# ip route list
default via 192.168.1.1 dev eno33554960 proto static metric 100 
172.24.8.0/24 dev eno16777728 proto kernel scope link src 172.24.8.254 metric 100 
192.168.1.0/24 dev eno33554960 proto kernel scope link src 192.168.1.175 metric 100 

###开启ip forward
[root@centos7-router ~]# cp /usr/lib/sysctl.d/50-default.conf /usr/lib/sysctl.d/50-default.conf.bk
[root@centos7-router ~]# echo "net.ipv4.ip_forward = 1" >>/usr/lib/sysctl.d/50-default.conf
[root@centos7-router ~]# grep ip_forward /usr/lib/sysctl.d/50-default.conf
net.ipv4.ip_forward = 1
[root@centos7-router ~]# sysctl -p ###如不生效重启一下os

三、centos7-a主机下添加路由

###查看当前主机ip 信息
[root@centos7-a ~]# ip addr list
1: lo: <loopback,up,lower_up> mtu 65536 qdisc noqueue state unknown 
  link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
  inet 127.0.0.1/8 scope host lo
   valid_lft forever preferred_lft forever
  inet6 ::1/128 scope host 
   valid_lft forever preferred_lft forever
2: eno16777728: <broadcast,multicast,up,lower_up> mtu 1500 qdisc pfifo_fast state up qlen 1000
  link/ether 00:0c:29:57:26:9d brd ff:ff:ff:ff:ff:ff
  inet 172.24.8.131/24 brd 172.24.8.255 scope global dynamic eno16777728
   valid_lft 1088sec preferred_lft 1088sec
  inet6 fe80::20c:29ff:fe57:269d/64 scope link 
   valid_lft forever preferred_lft forever

###查看当前主机路由信息   
[root@centos7-a ~]# ip route list
172.24.8.0/24 dev eno16777728 proto kernel scope link src 172.24.8.131 metric 100 

[root@centos7-a ~]# # author : leshami
[root@centos7-a ~]# # blog : http://blog.csdn.net/leshami
[root@centos7-a ~]# ip route add default via 172.24.8.254
[root@centos7-a ~]# ip route list
default via 172.24.8.254 dev eno16777728 
172.24.8.0/24 dev eno16777728 proto kernel scope link src 172.24.8.131 metric 100 

###测试到虚拟路由器网关ip连通性
[root@centos7-a ~]# ping 172.24.8.254 -c 2       
ping 172.24.8.254 (172.24.8.254) 56(84) bytes of data.
64 bytes from 172.24.8.254: icmp_seq=1 ttl=64 time=0.268 ms
64 bytes from 172.24.8.254: icmp_seq=2 ttl=64 time=0.302 ms

--- 172.24.8.254 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.268/0.285/0.302/0.017 ms

###测试到虚拟路由器ip连通性
[root@centos7-a ~]# ping 192.168.1.175 -c 2
ping 192.168.1.175 (192.168.1.175) 56(84) bytes of data.
64 bytes from 192.168.1.175: icmp_seq=1 ttl=64 time=0.475 ms
64 bytes from 192.168.1.175: icmp_seq=2 ttl=64 time=0.443 ms

--- 192.168.1.175 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.443/0.459/0.475/0.016 ms

四、windows 10下配置路由

###当前环境
c:\>systeminfo | findstr build
os version:        10.0.14393 n/a build 14393
os build type:      multiprocessor free

###查看当前的路由信息
c:\>route print -4
===========================================================================
interface list
 7...54 ab 3a xx b8 ea ......intel(r) ethernet connection i219-v
21...ac 2b 6e 5f 3b 57 ......microsoft wi-fi direct virtual adapter
            ......
===========================================================================
ipv4 route table
===========================================================================
active routes:
network destination    netmask     gateway   interface metric
     0.0.0.0     0.0.0.0   192.168.1.1  192.168.1.242  35
    127.0.0.0    255.0.0.0    on-link    127.0.0.1  331
    127.0.0.1 255.255.255.255    on-link    127.0.0.1  331
 127.255.255.255 255.255.255.255    on-link    127.0.0.1  331
   172.24.10.0  255.255.255.0    on-link   172.24.10.1  291
   172.24.10.1 255.255.255.255    on-link   172.24.10.1  291
  172.24.10.255 255.255.255.255    on-link   172.24.10.1  291
   192.168.1.0  255.255.255.0    on-link  192.168.1.242  291
  192.168.1.242 255.255.255.255    on-link  192.168.1.242  291
  192.168.1.255 255.255.255.255    on-link  192.168.1.242  291
  192.168.16.0  255.255.255.0    on-link   192.168.16.1  291
  192.168.16.1 255.255.255.255    on-link   192.168.16.1  291
 192.168.16.255 255.255.255.255    on-link   192.168.16.1  291
    224.0.0.0    240.0.0.0    on-link    127.0.0.1  331
    224.0.0.0    240.0.0.0    on-link  192.168.1.242  291
    224.0.0.0    240.0.0.0    on-link   192.168.16.1  291
    224.0.0.0    240.0.0.0    on-link   172.24.10.1  291
 255.255.255.255 255.255.255.255    on-link    127.0.0.1  331
 255.255.255.255 255.255.255.255    on-link  192.168.1.242  291
 255.255.255.255 255.255.255.255    on-link   192.168.16.1  291
 255.255.255.255 255.255.255.255    on-link   172.24.10.1  291
===========================================================================
persistent routes:
 none

###添加持久化路由 
c:\>route add 172.24.8.0 mask 255.255.255.0 192.168.1.175 -p
ok!

c:\>route print -4

ipv4 route table
===========================================================================
active routes:
network destination    netmask     gateway   interface metric
     0.0.0.0     0.0.0.0   192.168.1.1  192.168.1.242  35
    127.0.0.0    255.0.0.0    on-link    127.0.0.1  331
    127.0.0.1 255.255.255.255    on-link    127.0.0.1  331
 127.255.255.255 255.255.255.255    on-link    127.0.0.1  331
   172.24.8.0  255.255.255.0  192.168.1.175  192.168.1.242  36
   172.24.10.0  255.255.255.0    on-link   172.24.10.1  291
   172.24.10.1 255.255.255.255    on-link   172.24.10.1  291
  172.24.10.255 255.255.255.255    on-link   172.24.10.1  291
   192.168.1.0  255.255.255.0    on-link  192.168.1.242  291
  192.168.1.242 255.255.255.255    on-link  192.168.1.242  291
  192.168.1.255 255.255.255.255    on-link  192.168.1.242  291
  192.168.16.0  255.255.255.0    on-link   192.168.16.1  291
  192.168.16.1 255.255.255.255    on-link   192.168.16.1  291
 192.168.16.255 255.255.255.255    on-link   192.168.16.1  291
    224.0.0.0    240.0.0.0    on-link    127.0.0.1  331
    224.0.0.0    240.0.0.0    on-link  192.168.1.242  291
    224.0.0.0    240.0.0.0    on-link   192.168.16.1  291
    224.0.0.0    240.0.0.0    on-link   172.24.10.1  291
 255.255.255.255 255.255.255.255    on-link    127.0.0.1  331
 255.255.255.255 255.255.255.255    on-link  192.168.1.242  291
 255.255.255.255 255.255.255.255    on-link   192.168.16.1  291
 255.255.255.255 255.255.255.255    on-link   172.24.10.1  291
===========================================================================
persistent routes: ###以下为添加的持久化路由记录
 network address     netmask gateway address metric
   172.24.8.0  255.255.255.0  192.168.1.175   1 
===========================================================================

五、验证两边连通性

###从linux端ping windows 10
[root@centos7-a ~]# ping 192.168.1.242 -c 2   
ping 192.168.1.242 (192.168.1.242) 56(84) bytes of data.
64 bytes from 192.168.1.242: icmp_seq=1 ttl=63 time=1.70 ms
64 bytes from 192.168.1.242: icmp_seq=2 ttl=63 time=1.10 ms

--- 192.168.1.242 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 1.101/1.404/1.707/0.303 ms

###从windows 10端ping linux
c:\>ping 172.24.8.131 -t

pinging 172.24.8.131 with 32 bytes of data:
reply from 172.24.8.131: bytes=32 time=1ms ttl=63
reply from 172.24.8.131: bytes=32 time=1ms ttl=63

注,如果测试有问题,请考虑是否被防火墙拦住。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。