linux 中ip forward功能是一个比较方便实用的功能,只需要简单配置,添加几条路由,即可实现ip转发。本文基于centos 7下采取一台机器充当虚拟路由,来实现windows环境与linux环境中相互通信。具体见下文,供大家参考。
一、环境及需求说明
爱主机评测网,最优惠主机信息推荐,便宜VPS分享,香港CN2
本地测试环境,由于win7+vmware这台机器网卡太新,无法被vmware exsi识别,无奈之下就直接装了个win7,然后再上面基于vmware workstation 12开启了一些临时测试的虚拟机。其次本地直连网段192.168.1.0 ip有限,而又希望直接从本机(如图win10) ssh连接到这些虚拟机,因此考虑使用linux的ip转发功能来实现。
上述图片中已经列出了各个节点的ip信息,红色的虚拟机充当软路由,配置好之后,实现win10 直接ssh到虚拟机。
二、虚拟路由服务器配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
###查看网卡信息 [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主机下添加路由
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
###查看当前主机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下配置路由
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
###当前环境 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 =========================================================================== |
五、验证两边连通性
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
###从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 |
注,如果测试有问题,请考虑是否被防火墙拦住。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持爱主机评测网。