双网卡内外网隔离

双网卡内外网隔离,第1张

Shell脚本实现动态配置IP与路由:解决嵌入式Android/Linux有线和无线网卡双网共存问题在项目中遇到需要远程调试和运维,一是为了节约公司成本,二也是为了节省人力。 项目的基本架构是边缘系统自成一局域网:包括linux系统的机器、其他嵌入式设备、路由器,路由器一般是普通的路由非4G路由。linux系统机器配置了多张网卡(有线网卡、无线网卡),我们想利用这个linux机器作为网关,一是做反向代理进行内网穿透,二是进行内、外网打通。 局域网网段为192.168.1.X,路由IP:192.168.1.1,linux机器有线网卡连路由配静态IP:192.168.1.180 linux机器无线网卡连接可以通公网的WIFI(可以连手机热点),配置dhcp模式以适应不同路由器网段,比如连接手机热点获得的IP:172.20.10.2,这个能连接公网的网段最好要和局域网网段分开。此时ping www.baidu.com 应该是不通的,因为一般来说局域网的路由优先级会高于无线网卡的那个路由。 使用ngrok进行反向代理。编辑sudo vim /etc/hosts这个文件,手动添加主机,106.12.90.X tuvwx.com,这一步的目的防止因为dns原因无法得到云端代理服务器地址。 然后增加一条路由表记录 这一句在sudo route路由表中增加了一条规则,如果是到主机地址106.12.90.X的数据,就通过wlan0这个网卡走 这个时候应该就能ping通tuvwx.com这个地址了 接下来就可以起ngrok进程,远程连接上干活了。

linux防火墙作用一:

一、防火墙的基本模型

基于TCP/IP协议簇的Internet网际互联完全依赖于网络层以上的协议栈(网络层的IP协议、传输控制协议TCP/UDP协议和应用层协议)。考虑到网络防火墙是为了保持网络连通性而设立的安全机制,因此防火墙技术就是通过分析、控制网络以上层协议特征,实现被保护网络所需安全策略的技术。构建防火墙有三类基本模型:即应用代理网关、电路级网关(Circuit Level Gateway)和网络层防火墙。

二、不应该过滤的包

在开始过滤某些不想要的包之前要注意以下内容:

ICMP包

ICMP

包可用于检测TCP/IP失败的情形。如果阻挡这些包将导致不能得“Host unreachable”或“No route to host”等信息。ICMP包还用于MTU发现,某些TCP实现使用了MTU发现来决定是否进行分段。MTU发现通过发送设置了不进行分段的位的包探测,

当得到的ICMP应答表示需要分段时,再发送较小的包。如果得不到ICMP包(“destination unreachable”类型的包),则本地主机不减少MTU大小,这将导致测试无法停止或网络性能下降。 到DNS的TCP连接

如果要拦阻出去的TCP连接,那么要记住DNS不总是使用UDP。如果从DNS服务器过来的回答超过512字节,客户端将使用TCP连接,并仍使用端口53接收数据。若禁止了TCP连接,DNS大多数情况下会正常工作,但可能会有奇怪的延时故障出现。

如果内部网络的DNS查询总是指向某个固定的外部DNS服务器,可以允许本地域端口到该服务器的域端口连接。

主动式FTP的TCP连接

FTP有两种运作方式,即传统的主动式(active)方式和目前流行的被动式(passive)方式。在主动式FTP模式下,FTP 服务器发送文件或应答LS命令时,主动和客户端建立TCP连接。如果这些TCP连接被过滤,则主动方式的FTP将被中断。如果使用被动方式,则过滤远地的TCP连接没有问题。因为数据连接是从客户端到服务器进行的(包括双向的数据)。

三、针对可能的网络攻击

防火墙的性能是否优良关键在于其配置能否防护来自外界的各种网络攻击。这要求网络管理者能针对可能的网络攻击特点设定完善的安全策略。以网络常见的“ping of death”攻击为例,“ping of death”攻击通过发送一个非法的大ICMP包使接收者的TCP堆栈溢出从而引起混乱。针对这种攻击可将防火墙配置为阻挡ICMP分段。因为普通的

ICMP包大都不需要到分段的程度,阻挡ICMP分段只拦阻大的“ping”包。 这种防护策略也可用于针对其他协议安全缺陷的网络攻击。

linux防火墙作用二:

它可通过监测、限制、更改跨越防火墙的数据流,尽可能地对外部屏蔽网络内部的信息、结构和运行状况, 以此来实现网络的安全保护。

在逻辑上,防火墙是一个分离器,一个限制器,也是一个分析器,有效地监控了内部网和Internet之间的任何活动, 保证了内部网络的安全。

2.使用Firewall的益处

保护脆弱的服务

通过过滤不安全的服务,Firewall可以极大地提高网络安全和减少子网中主机的风险。例如, Firewall可以禁止NIS、NFS服务通过,Firewall同时可以拒绝源路由和ICMP重定向封包。

控制对系统的访问

Firewall可以提供对系统的访问控制。如允许从外部访问某些主机,同时禁止访问另外的主机。例如, Firewall允许外部访问特定的Mail Server和Web Server。

集中的安全管理

Firewall对企业内部网实现集中的安全管理,在Firewall定义的安全规则可以运行于整个内部网络系统, 而无须在内部网每台机器上分别设立安全策略。Firewall可以定义不同的认证方法, 而不需要在每台机器上分别安装特定的认证软件。外部用户也只需要经过一次认证即可访问内部网。

增强的保密性

使用Firewall可以阻止攻击者获取攻击网络系统的有用信息,如Figer和DNS。

记录和统计网络利用数据以及非法使用数据

Firewall可以记录和统计通过Firewall的网络通讯,提供关于网络使用的统计数据,并且,Firewall可以提供统计数据, 来判断可能的攻击和探测。

策略执行Firewall提供了制定和执行网络安全策略的手段。未设置Firewall时,网络安全取决于每台主机的用户。

3.防火墙的种类

防火墙总体上分为包过滤、应用级网关和代理服务器等几大类型。

数 据 包 过 滤

数据包过滤(Packet Filtering)技术是在网络层对数据包进行选择,选择的依据是系统内设置的过滤逻辑, 被称为访问控制表(Access Control Table)。通过检查数据流中每个数据包的源地址、目的地址、所用的端口号、 协议状态等因素,或它们的组合来确定是否允许该数据包通过。 数据包过滤防火墙逻辑简单,价格便宜,易于安装和使用, 网络性能和透明性好,它通常安装在路由器上。路由器是内部网络与Internet连接必不可少的设备, 因此在原有网络上增加这样的防火墙几乎不需要任何额外的费用。

数据包过滤防火墙的缺点有二:一是非法访问一旦突破防火墙,即可对主机上的软件和配置漏洞进行攻击二是数据包的源地址、目的地址以及IP的端口号都在数据包的头部,很有可能被窃听或假冒。

应 用 级 网 关

应用级网关(Application Level Gateways)是在网络应用层上建立协议过滤和转发功能。 它针对特定的网络应用服务协议使用指定的数据过滤逻辑,并在过滤的同时,对数据包进行必要的分析、 登记和统计,形成报告。实际中的应用网关通常安装在专用工作站系统上。

数据包过滤和应用网关防火墙有一个共同的特点,就是它们仅仅依靠特定的逻辑判定是否允许数据包通过。 一旦满足逻辑,则防火墙内外的计算机系统建立直接联系, 防火墙外部的用户便有可能直接了解防火墙内部的网络结构和运行状态,这有利于实施非法访问和攻击。

代理服务(Proxy Service)也称链路级网关或TCP通道(Circuit Level Gateways or TCP Tunnels), 也有人将它归于应用级网关一类。它是针对数据包过滤和应用网关技术存在的缺点而引入的防火墙技术, 其特点是将所有跨越防火墙的网络通信链路分为两段。防火墙内外计算机系统间应用层的 链接, 由两个终止代理服务器上的 链接来实现,外部计算机的网络链路只能到达代理服务器, 从而起到了隔离防火墙内外计算机系统的作用。

linux防火墙作用三:

windows防火墙是一项协助确保信息安全的设备,会依照特定的规则,允许或是限制传输的数据通过。

具体作用如下:

1、防止来自网络上的恶意攻击

2、阻止外来程序连接计算机端口

3、对电脑进行防护,防止木马入侵或其它黑客软件、程序运行‘

4、阻止本地程序通过计算机端口,向外并发信息

双网隔离是一种安全高效的隔离网络桌面云切换方案,TC只需搭配一个网络切换器,通过切换器便能够在物理隔离的网络之间快速切换,达到快速访问另一个网络的桌面云资源,并且物理隔离,提供了高安全性。

监控系统网线拔插事件,当网线被拔插时触发切换流程。切换流程为:找到与当前WI配对的另一个WI地址,并检查到该WI地址是否连通,如果连通则加载该WI地址。

NotifyAddrChange函数主要的功能是用来通知应用程序IPv4地址的变化。注意这个函数仅仅支持IPv4地址的变化,如果需要得到IPv6地址的变化,请使用NotifyIpInterfaceChange。 实战经验:通过NotifyAddrChange侦测网络变化

NotifyAddrChange只是简单的告诉我们系统的IP地址发生了变化,但是具体是怎样变化,我们无法从此函数调用中得到。这个时候,我们可以使用GetAdaptersAddresses这一函数来得到当前最新的IP地址来判断。

根据 GetAdaptersAddresses 接口获取一个网络的详细数据,其中可以获取到IP_ADAPTER_ADDRESSES_LH结构,当中的IF_OPER_STATUS可以知晓网卡状态,为1时表示接口已启动,为2时表示接口已关闭。

网络设备在系统中注册、注销和关闭、打开等事件都可以通知给相应的内核组件或用户空间应用程序,其中内核组件通过netdev_chain通知链获取消息,而 用户空间应用程序则通过注册Netlink RTMGRP_LINK多播群组获取事件消息

使用netlink协议,循环从内核中读取创建网络设备的信息,判断状态,后获取网线拔插消息。

通过Netlink检测网线插拔

检测到网络状态改变后,发送信号给主消息流程,执行切换流程:找到与当前WI配对的另一个WI地址,并检查到该WI地址是否连通,如果连通则加载该WI地址。

ICMP:它是TCP/IP协议簇的一个子协议,用于在IP主机路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。

Windows下使用 IcmpCreateFile IcmpSendEcho 两个接口

Linux下,从内核中循环发送和读取ICMP数据包,发送时带一个特定盐值数据,接收时验证。

对每一个需要探测的WI地址,新建一个QNetworkAccessManager实例,并加入一些特定盐值,在 QObject::connect(nam, SIGNAL(finished(QNetworkReply*)), this, SLOT(onAccessibilityFinished(QNetworkReply*)))回调中检测盐值,实现WI是否可达的探测。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7386939.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存