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

2019-01-16 23:08:46丽君

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

一、环境及需求说明

本地测试环境,由于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