利用Iptables构建虚拟路由器
利用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 |
利用Iptables构建虚拟路由器相关推荐
- 在Ubuntu中安装FRR构建虚拟路由器
安装依赖关系 apt-get update apt-get install \git autoconf automake libtool make libreadline-dev texinfo \p ...
- 有没有开源的虚拟路由器?有,VPP了解一下
VPP(Vector Packet Processing,矢量包处理)平台是一个可扩展的开源框架,提供开箱即用的网络交换机或路由器的功能.VPP技术基于Cisco产品的成熟技术,是思科矢量包处理 (V ...
- 构建虚拟主机以及访问控制
构建虚拟主机以及访问控制 理论部分: 上一章我们讲到的AWSTATS系统,统计页面在WEB界面上呈现出来,有一个问题我们都注意到了,只要是输入地址就可以访问,这样任何人都可以看到公司的网站访问情况,这 ...
- VRRP——虚拟路由器冗余协议
VRRP VRRP概述 VRRP的作用 VRRP协议的状态 VRRP的工作过程 VRRP配置命令 VRRP概述 ●利用VRRP,一组路由器(同一个LAN中的接口),协同工作,但是只有一个处于Maste ...
- IT-标准化-系列-15.在VPC 2007中构建虚拟网络
看过太多人使用VPC 看过太多人使用Microsoft (R) Virtual Server 2005 R2 看过太多人使用VMware Workstation 没见过有人你像我这样夸张过! 为构建虚 ...
- Centos7.6下构建虚拟主机实验(基于域名、端口及IP地址)
文章目录 一.构建虚拟主机概述 二.实验环境及详细步骤 2.1 基于域名 2.2 基于端口 2.3 基于IP 一.构建虚拟主机概述 虚拟Web主机 在同一台服务器中运行多个Web站点,其中每一个站点并 ...
- 网络基础之虚拟路由器冗余协议(VRRP)理论基础及华为ENSP基础配置
一. VRRP的引入 局域网中的用户终端通常采用配置一个默认网关的形式访问外部网络,如果此时默认网关设备发生故障,将中断所有用户终端的网络访问,这很可能会给用户带来不可预计的损失,所以可以通过部署多个 ...
- Apache构建虚拟主机
Apache 虚拟主机概述 访问web服务,本质上看(从协议上)是访问某个IP的主机上的某个端口(默认是80),通常需要通过访问不同的域名或者端口,实现对不同网站的访问(具体到服务器里就是不同目录), ...
- mininet构建双路由器实验
利用mininet构建下面的拓扑,并测试能否ping通: 路由器会自动生成本路由器激活端口所在网段的路由条目,即直接路由,因此要让两主机之间能ping通,只要造A, B中分别添加静态路由即可 (当然还 ...
最新文章
- vb表格控件_(超级干货)ExcelVBA拆分表格并分别发送邮件增强版
- 简单实现一个Websocket服务
- Android 加载GIF图最佳实践
- No module named pip
- 让你IDA Pro 快速上手使用
- 文字滚动的另一方法 拆分文字来做到文字滚动
- 战斗民族的Yandex开始首次雪地无人车路测 | 视频
- 每天5分钟玩转Kubernetes | Liveness探测
- 识别括号或花括号嵌套
- opencv对相似图片一键找不同。(嘻嘻,找不同小游戏作弊神器)
- OpenCV批量处理图片
- 听见丨哈罗单车完成10亿元人民币D2轮融资,复星领投 场景化AI应用服务公司百可录完成A轮融资
- 从小米手环4看雷军的AIOT思路进化
- JavaScript学习——(1)
- 大消息:虚拟现实已经可以让你互换性别了!
- 设计已读和未读的公告
- 金蝶K3服务器一键配置精灵
- Printf函数基本概念
- linux远程root拒绝,ubuntu拒绝root用户ssh远程登录解决办法
- Java游戏服务器开发之A星算法
热门文章
- 虚拟服务器 自己搭建,自己搭建虚拟主机服务器
- 计算机二级会考哪些知识,计算机二级WEB考试主要考哪些内容?
- JAVA架构师面试题,如何成为架构师
- 多线程遇到的问题:(2)子线程未运行完 主线程结束了
- find_library找不到文件
- 某招聘网站的数据分析师岗位分析
- NC开发前后台数据库操作的用法
- 用adb push/pull init.rc的方法
- matlab求薛定谔方程,定态薛定谔方程的MATLAB求解(一)
- L3-013 非常弹的球 (30 point(s))