家庭网络防御系统搭建-虚拟机安装siem/securityonion网络连接问题汇总

由于我是在虚拟机中安装的security onion,在此过程中,遇到很多的网络访问不通的问题,通过该文章把网络连接问题做一下梳理。如果直接把securityonion 安装在物理机上,网络问题则会少很多。

NAT无法访问虚拟机

security onion虚拟机安装成功之后,宿主机是可以通过IP地址直接访问虚拟机的。但是局域网的其他机器无法访问该security onion的虚拟机,主要原因是通常来说宿主机安装虚拟机,网络设置采用的是NAT转换模式,如下图:
在这里插入图片描述
即虚拟机访问外网会将将虚拟机的IP地址转换成为宿主机的IP地址进行上网。通过NAT方式上网你会发现,从虚拟机ping外部以及局域网其他类型的主机是能够ping通的,但是和宿主机同在局域网的其他机器是ping不通虚拟机的。因为和外部直接通信的是经过NAT转换之后的宿主机IP地址,而不是虚拟机的IP地址。

暴露虚拟机端口

如何让局域网其他机器能够访问虚拟机的服务呢,其实虚拟机服务类似于docker服务,需要做端口映射,如下:
在这里插入图片描述

在这里插入图片描述
添加虚拟机端口和宿主机端口的映射关系,如下:
在这里插入图片描述
这样做的原理在于将虚拟机的端口映射到宿主机的端口,由于宿主机是可以和局域网的其他机器通信的,因此在局域网的其他机器访问宿主机指定端口,宿主机会根据端口映射,解析到虚拟机的对应端口服务,从而实现对于虚拟机的访问。

防火墙规则设置

虽然虚拟机和宿主机做了端口的映射但是局域网其他主机访问宿主机的时候,由于防火墙规则的原因,仍然存在着ping不同以及无法访问的问题。

Ping问题

ping命令不通往往是ping windows设备不通,主要原因在于windows防火墙默认禁止ping,如下:
在这里插入图片描述
在这里插入图片描述
如果希望能够ping通windows防火墙,只要将入站规则中和ICMP请求相关的规则禁用即可。

特定端口配置

虽然前面设置了宿主机和虚拟机的映射端口,保障了宿主机能够把对应端口的请求转给虚拟机,但是由于windows防火墙的默认设置,局域网其他的机器可能无法访问对应宿主机所暴露的端口,因此需要新建防火墙规则,允许局域网其他机器对于宿主机指定端口的访问,如下:
在这里插入图片描述
在这里插入图片描述
安全起见,设置特定端口,如果虚拟机开放端口较多,可以选择所有端口,如下:
在这里插入图片描述
后续的采用默认配置,并为配置取个名称如下:
在这里插入图片描述
通过上述配置,局域网的其他机器就可以通过访问宿主机的端口,从而来访问虚拟机的服务了。

域名访问配置

securityonion需要对外提供多个web服务以及API服务,使用的地址均是虚拟机的IP地址。前面提到web服务通过和宿主机进行映射实现访问,但是API服务默认使用虚拟机的IP地址,因此还会存在访问失败的情况。例如在配置elastic agent 发送日志给fleet的时候,使用的就是虚拟机的IP地址。这个时候肯定会存在访失败,因为局域网其他机器无法直接访问虚拟机。当然可以修改API请求的IP地址,但是这样并不方便。ealstic agent除了使用IP地址直接做API请求,还是用了securityonion主机名的方式进行请求,因此可以在elastic agent对应的机器上配置主机名和IP的映射关系,如下:
在这里插入图片描述
在IP地址请求不成功,会采用域名访问的方式进行API请求,如下:
在这里插入图片描述
如上就是在虚拟式安装security onion过程中出现的网络连接问题,希望对你有所帮助。

本文为CSDN村中少年原创文章,未经允许不得转载,博主链接这里。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/617077.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mapmost Alpha:开启三维城市场景创作新纪元

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

【详细教程】MySQL 高可用架构代码实现

前言 对于 MySQL 数据库作为各个业务系统的存储介质,在系统中承担着非常重要的职责,如果数据库崩了,那么对于读和写数据库的操作都会受到影响。如果不能迅速恢复,对业务的影响是非常大的。之前 B 站不是出过一次事故么&#xff0…

网络篇05 | 应用层 http/https

网络篇05 | 应用层 http/https 01 HTTP请求报文协议(Request)1)Request简述2)请求行(首行)3)请求头(Request Headers)4)空行5)正文(Re…

每日一题(leetcode238):除自身以外数组的乘积--前缀和

不进阶是创建两个数组&#xff1a; class Solution { public:vector<int> productExceptSelf(vector<int>& nums) {int nnums.size();vector<int> left(n);vector<int> right(n);int mul1;for(int i0;i<n;i){mul*nums[i];left[i]mul;}mul1;for…

【论文速读】| 基于大语言模型的模糊测试技术

本次分享论文为&#xff1a;Large Language Models Based Fuzzing Techniques: A Survey 基本信息 原文作者&#xff1a;Linghan Huang, Peizhou Zhao, Huaming Chen, Lei Ma 作者单位&#xff1a;悉尼大学&#xff1b;东京大学&#xff1b;阿尔伯塔大学 关键词&#xff1a;…

IDEA Warnings:SQL dialect is not configured.

springboot项目XxxMapper.xml文件打开后显示warnings&#xff1a;SQL dialect is not configured......&#xff08;翻译&#xff1a;未配置SQL语言。&#xff09; 大概意思是没有在IDEA中配置当前sql是MySQl、Oracle还是MariaDB等语言。 配置一下就好&#xff1a; 完了&#…

Textarea的常用属性thymeleaf

文章目录 textareathymeleaf1.基础使用2.代码块的切换3.链接表达式1&#xff09;范例 4.前后端5.遍历1.th:each2.th:switch3.添加属性 组件替换 每周总结 textarea -webkit-scrollbar&#xff1a;width&#xff1a;0&#xff1b;让滚动条隐藏&#xff0c;宽度为0 resize&#x…

Linux第90步_异步通知实验

“异步通知”的核心就是信号&#xff0c;由“驱动设备”主动报告给“应用程序”的。 1、添加“EXTI3.c” #include "EXTI3.h" #include <linux/gpio.h> //使能gpio_request(),gpio_free(),gpio_direction_input(), //使能gpio_direction_output(),gpio_get_v…

本地web项目启起来后,无法在浏览器(chrome)看到源码,从而无法打断点;Framework Ignore list

问题描述 本地web项目启起来后&#xff0c;无法在浏览器(chrome)看到源码&#xff0c;从而无法打断点 其他浏览器没看&#xff0c;开发环境一致专注于chrome&#xff08;其余浏览器有测试同事提缺陷了&#xff0c;才会去看&#xff09;&#xff0c;其余浏览器有没有这个问题&…

Docker Redis Debian服务器版

Debian安装docker 1.使用官方脚本自动安装docker 安装命令如下&#xff1a; curl -fsSL https://get.docker.com -o get-docker.shsudo sh get-docker.sh 如果安装提示 -bash sudo command not found 则需要 #update sudo apt-get update sudo apt-get install sudo再执行…

基于FPGA的以太网相关文章导航

首先需要了解以太网的一些接口协议标准&#xff0c;常见的MII、GMII、RGMII时序&#xff0c;便于后续开发。 【必读】从MII到RGMII&#xff0c;一文了解以太网PHY芯片不同传输接口信号时序&#xff01; 介绍一款比较老的以太网PHY芯片88E1518&#xff0c;具有RGMII接口&#xf…

C#简单工厂模式的实现

using System.Diagnostics.Metrics; using System.Runtime.InteropServices; using static 手写工厂模式.Program;namespace 手写工厂模式 {internal class Program{public interface eats {void eat();}//定义了一个接口public class rice : eats{public void eat() {Console.…