利用Iptables构建虚拟路由器

news/2024/10/19 16:55:27/

利用Iptables构建虚拟路由器

(1)修改网络类型

在VMware Workstation软件中选择“编辑→虚拟网络编辑器”菜单命令,在虚拟网络列表中选中VMnet1,将其配置为“仅主机模式(在专用网络内连接虚拟机)”,设置子网IP为192.168.1.0,子网掩码为255.255.255.0,完成后单击“确定”按钮,如图1-41所示。

 

图1-41 设置主机网络模式

(2)添加网络适配器

在虚拟网络编辑器中添加一个虚拟网络VMnet2,配置为“仅主机模式”,设置子网IP为“192.168.2.0”,子网掩码为“255.255.255.0”,如图1-42、图1-43所示。

 

图1-42 配置主机网络模式

 

图1-43 DHCP设置

(3)添加网卡

使用VMware Workstation创建3个CentOS 7.5系统的虚拟机,分别命名为student1、student2、student3。

student1配置VMnet1,student2配置VMnet2,student3配置VMnet1和VMnet2两块网卡,如图1-44所示。

 

图1-44 student3设置双网卡模式

(4)配置IP地址

使用静态IP配置3个虚拟机的IP地址,使虚拟机student1和虚拟机student2在不同网段,而虚拟机student3两张网卡分别对应着不同的两个网段。虚拟机IP地址详细信息见表1-1。

表1-1 虚拟机网络规划表

主机名

网卡

IP地址

子网掩码(netmask)

网关(gateway)

student1

ens33

192.168.1.128

255.255.255.0

192.168.1.129

student2

ens33

192.168.2.128

255.255.255.0

192.168.2.129

student3

ens33

192.168.1.129

255.255.255.0

192.168.1.1

ens34

192.168.2.129

255.255.255.0

192.168.2.1

(5)远程连接

使用SecureCRT工具远程连接3台虚拟机,用虚拟机student3分别ping虚拟机student1和student2,并让虚拟机student1和虚拟机student2互ping,验证虚拟机student3和student1、student2之间分别相通,虚拟机student1和虚拟机student2不通。

[root@student3 ~]# ping 192.168.1.128 –c 4

PING 192.168.1.128 (192.168.1.128) 56(84) bytes of data.

64 bytes from 192.168.1.128: icmp_seq=1 ttl=64 time=0.365 ms

64 bytes from 192.168.1.128: icmp_seq=2 ttl=64 time=0.356 ms

64 bytes from 192.168.1.128: icmp_seq=3 ttl=64 time=0.433 ms

64 bytes from 192.168.1.128: icmp_seq=3 ttl=64 time=0.433 ms

--- 192.168.1.128 ping statistics ---

4 packets transmitted, 4 received, 0% packet loss, time 2259ms

rtt min/avg/max/mdev = 0.433/0.642/1.020/0.267 ms

[root@student3 ~]# ping 192.168.2.128 –c 4

PING 192.168.2.128 (192.168.2.128) 56(84) bytes of data.

64 bytes from 192.168.2.128: icmp_seq=1 ttl=64 time=0.533 ms

64 bytes from 192.168.2.128: icmp_seq=2 ttl=64 time=0.422 ms

64 bytes from 192.168.2.128: icmp_seq=3 ttl=64 time=0.435 ms

64 bytes from 192.168.2.128: icmp_seq=4 ttl=64 time=0.452 ms

--- 192.168.2.128 ping statistics ---

4 packets transmitted, 4 received, 0% packet loss, time 3523ms

rtt min/avg/max/mdev = 0.422/0.460/0.533/0.048 ms

[root@student1 ~]# ping 192.168.2.128 –c 4

PING 192.168.2.128 (192.168.2.128) 56(84) bytes of data.

From 172.24.13.1 icmp_seq=3 Destination Host Unreachable

From 172.24.13.1 icmp_seq=4 Destination Host Unreachable

--- 192.168.2.128 ping statistics ---

4 packets transmitted, 0 received, 100% packet loss, time 23961ms

[root@student2 ~]# ping 192.168.1.128 –c 4

PING 192.168.1.128 (192.168.1.128) 56(84) bytes of data.

From 172.24.13.1 icmp_seq=3 Destination Host Unreachable

From 172.24.13.1 icmp_seq=4 Destination Host Unreachable

--- 192.168.1.128 ping statistics ---

4 packets transmitted, 0 received, 100% packet loss, time 34618ms

(6)构建虚拟路由器

现在将虚拟机student3作为虚拟交换路由器,使得不同网段的虚拟机student1和虚拟机student2可以互相通信。在虚拟机student3中作出如下操作使其成为虚拟路由器。

# echo 'net.ipv4.ip_forward=1' > /etc/sysctl.conf        \\开启包过滤功能即开启路由功能

# echo "net.ipv4.conf.default.rp_filter=0" >> /etc/sysctl.conf    \\启用源路由核查功能

# echo 'net.ipv4.conf.all.rp_filter=0' >> /etc/sysctl.conf      \\关闭反向路径过滤

#sysctl –p                                                 \\内核网络设置生效

(7)修改防火墙配置

修改虚拟机student3的IPtables配置,使其可以接受并转发192.168.1.0/24和192.168.2.0/24两个网段的包。

# iptables –F           \\清空所有 chain中的规则

# iptables –X           \\删除所有用户自定义

# iptables –Z            \\把所有链的包及字节的计数器清空

# iptables-save   \\保存IPtables的配置

iptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]

# iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o ens33  

\\指定192.168.10.0/24网段的包从ens33出去

# iptables -t nat -A POSTROUTING -s 192.168.20.0/24 -o ens34

\\指定192.168.20.0/24网段的包从ens34出去

(8)检查连通性

检查虚拟机student1和虚拟机student2之间是否可以连通。

[root@student1 ~]# ping 192.168.2.128 –c 4

PING 192.168.2.128 (192.168.2.128) 56(84) bytes of data.

64 bytes from 192.168.2.128: icmp_seq=1 ttl=63 time=17.2 ms

64 bytes from 192.168.2.128: icmp_seq=2 ttl=63 time=0.873 ms

64 bytes from 192.168.2.128: icmp_seq=3 ttl=63 time=1.11 ms

64 bytes from 192.168.2.128: icmp_seq=3 ttl=63 time=1.11 ms

--- 192.168.2.128 ping statistics ---

4 packets transmitted, 4 received, 0% packet loss, time 2567ms

rtt min/avg/max/mdev = 0.873/6.413/17.256/7.667 ms

[root@student2 ~]# ping 192.168.1.128

PING 192.168.1.128 (192.168.1.128) 56(84) bytes of data.

64 bytes from 192.168.1.128: icmp_seq=1 ttl=63 time=1.03 ms

64 bytes from 192.168.1.128: icmp_seq=2 ttl=63 time=0.842 ms

64 bytes from 192.168.1.128: icmp_seq=3 ttl=63 time=0.833 ms

64 bytes from 192.168.1.128: icmp_seq=3 ttl=63 time=0.833 ms

--- 192.168.1.128 ping statistics ---

4 packets transmitted, 4 received, 0% packet loss, time 2419ms

rtt min/avg/max/mdev = 0.833/0.902/1.031/0.091 ms

(9)IPtables的网络隔离

使用IPtables规则隔离同网段的连接。使虚拟机student2和虚拟机student3直接无法连通。

#iptables -I INPUT -s 192.168.2.0/24 -j DROP   \\设置一个规则来自192.168.2.0/24的包直接drop掉

[root@student2 ~]# ping 192.168.2.129           \\用ping测试192.168.2.0/24网段连通

PING 192.168.1.129 (192.168.1.129) 56(84) bytes of data.

^C

--- 192.168.2.129 ping statistics ---

5 packets transmitted, 0 received, 100% packet loss, time 4679ms


http://www.ppmy.cn/news/53862.html

相关文章

eBPF技术介绍

前言 eBPF起源于linux内核,它可以以砂箱程序运行在操作系统内核的特权上下文,高效,安全,易于扩展而不需要修改内核源码或者加载内核模块。 操作系统一直是实现观测,安全和网络功能的最理想的地方,因为内核的…

带你了解vue3组合式api基本写法

本文的目的,是为了让已经有 Vue2 开发经验的 人 ,快速掌握 Vue3 的写法。 因此, 本篇假定你已经掌握 Vue 的核心内容 ,只为你介绍编写 Vue3 代码,需要了解的内容。 一、Vue3 里 script 的三种写法 首先,Vue…

Linux crontab计划任务和at一次性计划任务

文章目录 一、crontab常用命令二、计划任务书写格式例子:问题1:每月1,10,22号的4:45重启network服务问题2:每周六周日的1:10重启network服务问题3:每天18:00至23:00之间每隔30分钟重…

appuploader 常规使用登录方法

转载:登录appuploader 登录appuploader 常规使用登录方法 双击appuploader.exe 启动appuploader 点击底部的未登录,弹出登录框 在登录框内输入apple开发者账号 如果没有apple开发者账号,只是普通的apple账号,请勾选上未支付688…

基于JavaSpringboot+vue国风汉服文化交流宣传系统

基于JavaSpringbootvue国风汉服文化交流宣传系统 博主介绍:5年java开发经验,专注Java开发、定制、远程、指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文末获取源码联系方式 文章目…

不停机修复mysql主从数据同步错误导致服务器磁盘占满问题

事情的现象: 线上生产环境mysql服务器采用主从结构。突然告警从库服务器磁盘占用高。经过磁盘空间检查,主要是/mysql/data目录使用100%(直接占满了),进入目录后发现被文件slave-relay-bin.*系列文件占满了。常理数据不…

React18开发总结(完善中)

遇到这样一个问题,初始化时用户登陆后需要获取到用户信息,但是发现获取用户信息这个接口触发了2次,这是不应该的,于是我查阅了一下资料,把自己的笔记记录下来。 还有就是使用mobx遇到的控制台警告问题,也一…

计算机组成原理---第 6 章总线系统

一、总线的概念和结构形态 总线的基本概念 ⑴概述 总线是构成计算机系统的互联机构,是多个系统功能部件之间进行数据传送的公共通路。 ⑵ 分类 总线的分类方式有很多:如被分为外部总线和内部总线、系统总线和非系统总线、片内总线和PCB板级总线、串行总…