1 理论准备:
网段:可以将ip地址和子网掩码进行and运算,如果两个ip地址和子网掩码进行and运算得到一个相同的值,那么这两个ip是同一个网段,否则属于不同的网段。一个简单的区分方法是:ip地址可以分为四段,前面三段用来表示网段,只要前三段有一段不同,那么就属于不同的网段。
网关:不同网段之间的连接要使用相同的网关,相同的网段之间直接可以ping通。网关至少有两张网卡,而且网关内要开通转发功能才能实现数据包的转发。网关可以在子网之间转发数据包,也可以直接转发到另一网关。TCP/IP中网关相当于路由器
2 机器准备:
用虚拟机克隆好三台redhat9,或者三台redhat企业版,分别命名为192.168.138.3(采用host-only网段),192.168.234.3(采用NAT网段),192.168.138.4-192.168.234.4(138.4采用host-only,234.4采用NAT,这台机相当于一个网关),设置好的机器如下图所示:
192.168.138.4-192.168.234.4(这台机跟先前两台不同的是:一双网卡
二 设置相同的网关,用于不同网段之间的连接)
3 测试:看看相同网段之间的网卡是否可以ping通,如从192.168.234.3 ping
192.168.234.4,如果没问题,应该可以ping通的,如果ping不同,可以检查一下网卡是否连接或者相同,如:
当相同的网段的网卡之间可以ping通后,则可以进行以下操作。
4 如果要从192.168.138.3 ping通192.168.234.3则要在192.168.138.3中设置路由:
route add –net 192.168.234.0
netmask255.255.255.0 gw 192.168.138.4
设置后,重启服务:service network restart.
可以用route查看是否成功,如下图所示:
此时,再ping 192.168.138.3应该还是不通的,因为还没有在192.168.138.4-192.168.234.4中设置转发功能。接下来到
192.168.138.4-192.168.234.4中设置转发功能。
5
192.168.138.4-192.168.234.4永久转发功能设置:
在终端中输入:cat/proc/sys/net/ipv4/ip_forward,显示如下:
如上所示,显示数字1,这是因为已经开启转发功能,如果显示的是0,则继续下面的操作:
紧接上面命令,输入:vi /etc/sysctl.conf出现以下界面:
如果net.ipv4.ip_forward=0 ,则改为net.ipv4.ip_forward=1,因为我的已经更改,所以net.ipv4.ip_forward=1
到这步,所有的设置已经完成,然后到192.168.138.3中进行如下操作:
可以看到,刚才的设置已经奏效,再进行一下操作:
可以看到,已经实现不同网段之间不同网卡的通信。
6 总结:
实现不同网段的网卡之间的通信主要设置如下:
1 设置路由,如从192.168.138.3ping 通192.168.234.3则要进行如下设置:routeadd –net 192.168.234.0 netmask 255.255.255.0
gw 192.168.138.4
2 设置转发功能,在192.168.138.4-192.168.234.4中启用转发功能,命令如步骤5所述
3 为192.168.138.4-192.168.234.4中的网卡设置相同的路由,如192.168.234.4-192.168.138.4所示。
可以看到上面的gw为:192.168.138.2,当然也可以设置为192.168.234.2,只要是相同的就行了。