- 通过网卡间转发实现两个不同的网络主机提供通信功能
- 1.提供三台主机,其中
server21.com
工作在172.25.23.0/24
网段,并且IP
为172.25.23.21
; - 2.
server20.com
是工作在192.168.10.0/24
,并且IP
为192.168.10.10
; - 3.需要借助于
server24.com
来实现上面两个不同网段主机的通信,对于server24.com
来说需要以下几个要求:
- 首先需要两块网卡,一个工作在
172.25.23.24/24
,另一个网卡工作在192.168.10.100/24
; - 其次需要打开
Linux
主机之间的参数,并且允许网卡间进行数据转发 - 接下来两个不同网络的主机分别将
192.168.10.100
以及172.25.23.24
作为网关地址;
- 首先需要两块网卡,一个工作在
- 实现上述功能的配置
- 首先配置
server21.com
的地址为172.25.23.21
,并且修改网关为172.25.23.24
; - 修改网卡的配置文件如下
[root@server21 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=52:54:00:62:3a:95 //需要和自己的网卡MAC地址保持一致
TYPE=Ethernet
UUID=b093f393-3eae-43fc-8d4d-b7f980324778 //这个不是必须的
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=172.25.23.21
PREFIX=24
NETMASK=255.255.255.0
GATEWAY=172.25.23.24 //最主要的是需要添加这个选项
IPV6INIT=no
USERCTL=no
- 如果担心配置文件出错,建议使用
yum install setuptool system-config-network-tui -y
,使用图形化进行安装
[root@server21 ~]# setup
- 使用上下选择第二个选项
- 然后通过
Enter
确定选项
- 可以通过
Tab
来选择需要的选项,通过Enter
来进行确定
- 填写网卡需要的配置信息如下,会自动生成网卡的配置文件
- 之后需要重新启动网络服务
[root@server21 ~]# /etc/init.d/network restart
- 通过命令查看配置的地址是否正常工作
接下来按照同样的方式在
server20.com
配置192.168.10.10/24
接下来首先需要给
server24.com
添加一块网卡,网卡的类型不能够是private
,这个需要特别注意,选择specify shared device name
,然后提供真机对应的网卡名称,这里使用的是bridge0
,填写完之后的信息如下
然后配置两个网卡工作在网关地址,可以通过
setup
命令进行设定,配置文件的信息如下
DEVICE=eth0
HWADDR=52:54:00:3a:42:c3
TYPE=Ethernet
UUID=66c5eb5e-065a-4bce-ae86-e11bd51d1bf5
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=172.25.23.24
PREFIX=24
IPV6INIT=no
USERCTL=no
NETMASK=255.255.255.0
GATEWAY=172.25.23.250
- 工作在另一个网段的网卡信息
DEVICE=eth2
BOOTPROTO=none
NETMASK=255.255.255.0
TYPE=Ethernet
HWADDR=52:54:00:c0:db:e3
IPADDR=192.168.10.100
IPV6INIT=no
ONBOOT=yes //如果为no 改为Yes
USERCTL=no
- 接下来需要重新启动网络服务,然后检查地址是否正常配置
[root@server24 ~]# /etc/init.d/network restart
* 接下来首先尝试两个不同网段的主机ping
自己的配置的网关,是否能够正常响应;
- 然后使用
server21.com
尝试ping
另一个网段的主机192.168.10.10
- 上面显示的是
100% loss
,接下来尝试ping
另一个网段的网关,也就是192.168.10.100
;
这个结果是比较意外的,其实是因为
IP
地址是属于Linux
主机的,而不是属于某个网卡所以对于两个网段不同的IP
地址都是一个主机,所以这个主机会进行响应;接下来通过打开网卡间转发实现不同网络间的网卡转发功能,需要在充当
Gateway
的server24.com
上面进行
[root@server24 ~]# echo 1 > /proc/sys/net/ipv4/ip_forward
- 然后尝试互相
ping
主机,查看网络是否正常
- 尝试通过
tcpdump
来进行抓包,来分析请求的响应的软件包
* 可以看见在经过网卡转发数据包文的source IP
以及Destination IP
并没有发生改变,这也说明了一点,数据报文在经过任何一个路由设备或者网络设备时,source IP
以及Destination IP
都是不应该发生改变的;