虚拟机安装
首先我们需要准备的前置条件是两台虚拟机,一台作为网关服务器,一台作为客户机,其中两个虚拟机都需要把网络改为桥接模式,其中特别需要注意的是,网关服务器需要准备两个端口,来连接客户机和我们的实际主机,而客户机只需要准备一个端口来连接网关即可
网络拓扑图规划
我们已经配置好了所需要的机器,但是接下来需要做什么还不够清晰,如果可以提前对网络进行规划,那么配置起来将会非常方便
-
首先获取自己目前实际使用机器的ip信息
以我的机器为例,我的ip地址为192.168.1.3 网关为192.168.1.1
-
对网络预先画图配置
根据规划来配置
在linux中 配置网端的位置为:
1| /etc/sysconfig/network-scripts/
不过在此之前我们可以使用 ip add命令来确认端口情况,来确保以上操作的完成度
网关服务器的ip add情况:
客户机的ip add 情况:
可以看见,目前端口都是没有网络配置信息的,接下来我们对网络信息进行配置
此时网关服务器下通常只有33接口 没有37接口的配置信息
对此我们可以直接复制33接口的文件 再在此后继续更改需要的信息
网关服务器配置
ens33接口
使用vim命令对ens33进行修改,(如果新装虚拟机没有vim命令,可以用自带的vi命令)
我们在末尾加上以上信息
ens37接口
同样的对37接口按照拓扑图修改信息
客户机网络配置
ens33接口(客户机)
使用ifup命令激活配置好的网卡
同理 ens37和客户机的ens33接口都是同样的启动
可能遇到的问题
ifup命令执行后,可以会有以下的情况
ifup ens33 显示
Error: Connection activation failed: No suitable device found for this connection.
这个时候我们需要查看networkmanager的启动情况
确保网卡已经被纳入管理
具体可以通过
1|man nmcli
来查看所需要查看的信息
开启网关服务器的路由功能
临时开启路由功能:
echo 1 >/proc/sys/net/ipv4/ip_forward
–>打开内核里的路由开关 1 表示开启路由 0 关闭路由
但是临时开启的后果就是在重启后将会消失,如果要永久开启路由功能。我们需要进入/etc/sysctl.conf这个文件中添加以下代码,然后使用 sysctl -p 重新加载这个变量的值
net.ipv4.ip_forward = 1
sysctl -p
关闭网络防火墙
selinux的确是一个很强大的网络安全工具,但是大多数时候他带来的麻烦更多,为了这次实验的顺利,我们需要关闭它
临时关闭:
setenforce 0
永久关闭需要先进入以下目录:
vi /etc/selinux/config
关闭操作:
SELINUX=disabled #enforcing 强制执行模式->1,permissive 宽容模式->0,disabled->禁用
同样的,需要将防火墙关闭
临时:
service firewalld stop
永久:
systemctl disable firewalld #设置firewalld服务开机不启动
在nat服务器上配置iptables实现snat功能
iptables -t filter -F #可以不使用-t参数,因为默认指定filter表
iptables -t nat -F
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o ens33 -j SNAT --to-source 192.168.1.25