关于linux的ip伪装到底是指什么?

关于linux的ip伪装到底是指什么?,第1张

IP伪装,是Linux系统的一种网络功能,如果一台Linux主机使用IP伪装功能连接到互联网上,那么其他计算机,不论是在同一个局域网上还是通过调制解调器连接,只要连接到这个Linux主机上,就可以与国际互联网相连,即使它们没有获得正式指定的IP地址。这样就可以将一些计算机隐藏在网关后面连接互联网,而不被发现,看起来就像只有一台Linux系统主机与互联网相连。它允许用户扩展IP地址,允许没有注册IP地址的计算机经由Linux主机连接到互联网上。由于可以多人使用一条调制解调器(或网卡)连线来接入互联网,因此降低了上网费用,同时也增加了安全性。从某些方面来看,其功能像是一个防火墙,因为外界网络无法连接非正式分配的IP地址。而其安全功能比数据包过滤式防火墙要强。随着IP地址的减少,IP伪装在网络上的应用会越来越广泛。

IP伪装仍处于实验阶段

IP伪装仍然处于实验阶段。但Linux的核心从1.3.x开始已经建立此功能支持。许多个人甚至公司正在使用它,并且获得了满意的效果。现在Linux的核心已经升级到2.2.x,这项技术已趋近完善,但仍在发展中。浏览网页及远端登录(telnet)已经可以在IP伪装上运行,文件传输(FTP)、网络交谈(IRC)及聆听Real Audio可以载入一些相应的模块配合,其它的网络资料控制流(streaming audio),如True Speech及Internet wave也能运行。Ping配合最近可以获得的国际互联网络控制信息协议(ICMP)的升级文件后也能正常运行。

IP伪装支持多种客户端平台

IP伪装在多种不同的 *** 作系统及平台上与客户端机器配合良好,目前,已测试通过的利用IP伪装运行的客户端平台有:Linux,Solaris,Windows 95/98,Windows NT,Windows for Workgroup 3.11(含有TCP/IP包),Windows 3.1(含有Chameleon包),Novel 5.0 Server,OS/2(包括Warp v3),Macintosh OS(含有Mac TCP或Open Transport),DOS(包含NCSA Telnet包),SCO Openserver。从理论上讲,只要 *** 作系统支持TCP/IP或WinSock标准协议,都可以与IP伪装配合使用。

组建网络的硬件/软件配置

用Linux组建一个网络网关是最核心的部分,它是一台普通的计算机,装有Linux *** 作系统,配有两块网卡。一块网卡通过合法的IP地址与Internet连接,另一块网卡连接用于放大数字信号的集线器Hub,Hub可连接由若干台计算机所组成的网络。网络中的计算机不使用合法的IP地址,而使用Internet标准文件RFC1597规定的、公开供用户使用的3个IP地址空间内的IP地址,它们分别是:

A类地址 10.0.0.0~10.255.255.255

B类地址 172.16.0.0~172.31.255.255

C类地址 192.168.0.0~192.168.255.255

用户可根据自己网络中的机器数目选用合理的地址范围。

网关除了开启Linux中的IP伪装来实现网络与Internet的互联外,还开启动态主机配置协议分配DHCPd的功能和WWW代理服务器功能。DHCPd可以自动给网络中的计算机指定IP地址、子网掩码、网关等信息,克服了人工配置TCP/IP的限制,给网络的管理带来了极大的便利。通常WWW代理服务器都设置一个较大的硬盘缓冲区,当有外界的信息通过时,同时也将其保存到缓冲区中,当其他用户再访问相同的信息时,则直接由缓冲区中取出信息传给用户,来提高访问速度。WWW代理服务器功能由Apache软件实现,Apache是Internet上很优秀的代理服务器软件,它有模块化的设计、工作性能稳定、运行速度快等优点。

网络实现的步骤

1)开启IP伪装功能;

2)调试网卡;

3)开启DHCPd功能;

4)安装WWW代理服务器Apache软件;

5)配置网络中的其它计算机,这些计算机可以使用不同的 *** 作系统,如:Windows95/98、Windows NT、UNIX、Novell,根据所使用 *** 作系统的不同进行不同的配置;

6)配置Linux网关的IP转送(Forwarding)方式;

7)测试IP伪装。

如果测试成功,就代表网络已经建成了。

    前段时间在调试时,将外网接入内部局域网,然后使用向日葵远程连接调试。Windows一个网络适配器只能设置一个IP地址,后面才发现可以通过网络子接口来设置虚拟IP,内部网络通过正常的IP地址通信,外部网络通过子接口来进行通信,即一个物理网口上连接两个子网。Windows可以设置网络子接口,笔者就延申到Linux系统上,总结在不同平台设置网络子接口的方法。需要明确的是,虚拟IP的数据还是经过真实的物理网络接口。简而言之,网卡设备都有一个MAC地址,但是却可以有多个网络层IP地址。

    本文以Windows10和CentOS8为例。

 Windows平台上:

    微软官网对于网络子接口有这样的描述:

1)一个逻辑IP网络正在使用中,并且此计算机需要使用多个IP地址才能在该网络上进行通信。

2)正在使用多个逻辑IP网络,并且此计算机需要一个不同的IP地址才能与每个不同的逻辑IP网络进行通信。

    当不使用“常规”选项卡上的“自动获取IP地址”时,才可以使用“高级TCP/IP设置”进行此网络连接,来完成高级IP寻址。在设置里面,Interface metric 接口度量标准(跃点数)可以设置该接口的优先级,接口度量标准的值越小,表示使用该接口的优先级越高。自动度量标准(自动跃点),最高速度的接口具有最低的接口度量值,优先级越高。

Linux平台上:

    Linux平台上虚拟ip基本上都用于高可用的架构上,比如keepalived就是通过托管VIP里完成飘逸,可以参考笔者以前的文章-Keepalived让树莓派也可以VIP漂移。其实这一篇文章对于keepalived也会有很好的理解了。看一下文章里面的Keepalived后通过ip addr查看的结果。

    VRRP协议来通信完成心跳检测,然后使用辅助IP的ip addr add 来添加虚拟IP地址,主用不在线就del掉VIP,然后在从机上add 同样的VIP。为什么不是ifconfig命令呢,那就需要你仔细看看关键信息找区别了,如果你安装了的话可以使用ifconfig来确定是否能够查看到VIP。

    接下里我们就看看在Linux中创建虚拟IP有两种方法,分别是:别名IP(IP aliases)和辅助IP(secondary IP addresses)。

    1、别名IP是通过ifconfig命令去创建和 *** 作的虚拟ip。

sudo ifconfig enp0s3:1 192.168.31.5 broadcast 192.168.31.255 netmask 255.255.255.0 up

    删除别名IP,将up改为down。

sudo ifconfig enp0s3:1 192.168.31.5 broadcast 192.168.31.255 netmask 255.255.255.0 down

    如果开机就需要别名IP地址的话,需要到/etc/sysconfig/network-scripts目录下新建一个子接口来永久性修改配置文件。将原ifcfg-enp0s3文件复制后,然后修改其中的IP地址信息。

    cp ifcfg-enp0s3 ifcfg-enp0s3:1

    为了方便也可以将ifconfig命令去创建和 *** 作的虚拟ip的命令加入到开机启动中,详情参考笔者以前的文章-Linux设置脚本开机启动的四种方法。

2、辅助IP是由linux的ip命令去创建和 *** 作的。

sudo  ip addr add 192.168.31.5/24 brd 192.168.31.255 dev enp0s3 label enp0s3:1

    设置完成后,也可以通过ifconfig来查看。但是如果在命令后面不添加label enp0s3:1的话,那么ifconfig就不能查看了。

    删除辅助IP,将add替换成del即可。

sudo  ip addr del 192.168.31.5/24 brd 192.168.31.255 dev enp0s3 label enp0s3:1

    辅助IP需要持久化的话,只能将ip命令去创建和 *** 作的虚拟ip的命令加入到开机启动中了。

    路由器通信设备:

    路由器接口有限, 一个物理接口可以配置子接口(逻辑接口)的方式来实现一当多的功能。具体配置参考笔者的文章-eNSP模拟实验-单臂路由实现VLAN间通信。

在Linux下有各种各样的代理程序可用,象最常用的Squid,是http/https代理,也能代理ftp请求,但它实际上是个HTTP代理程序,不是ftp代理,但它能处理ftp代理请求,就象浏览器处理ftp请求一样的方法工作,有些程序只能设置成使用socks代理,象CuteFTP还有象Wu-FTP只能设置成使用ftp代理(这里的ftp代理是标准的ftp代理,不是Squid所支持的那种方式)ICQ 2000能同时接受https代理和Socks代理NetVampire能接受标准的HTTP(GET/POST)代理(被Squid支持),和HTTP(CONNECT)代理(也被Squid支持)。

为了使用Cute-FTP,除了IP伪装的方法外,就要使用Socks代理,现在让我们来看看配置Socks5的过程:

1. 下载文件

从www.socks.nec.com下载最新版的socks5源文件到/tmp目录下。socks5-v1.0r11.tgz

2. 在防火墙上编译并安装(该防火墙应直接连至internet,是安装了两块网卡的双宿主机,假设内部网段为

192.168.0.0/24)

cd /tmp

tar -xvfz socks5-v1.0r11.tgz

cd /tmp/socks5-v1.0r11

./configure --with-threads

make

make install

3. 配置文件/etc/socks5.conf

# /etc/socks5.conf

set SOCKS5_MAXCHILD 3

set SOCKS5_NOIDENT

set SOCKS5_TIMEOUT 5

interface 192.168.0. - eth1

auth 192.168.0. - u

permit u - 192.168.0. - - - jephe

permit u - 192.168.0. - - - jack

deny - - - - - - -

4. 配置文件/etc/socks5.passwd

# /etc/socks5.passwd

jephe password_of_jephe_is_here

jack password_of_jephe_is_here

5.开始测试

/usr/local/bin/socks5 -f -s

如果出现下面的信息表示测试成功。

18210: Socks5 starting at Mon Dec 14 18:23:45 1998 in normal mode

然后退出socks5,开始正式运行它在背景模式:

6. 正式运行

/usr/local/bin/socks5 -t -s 2>/var/log/socks5

7. 最后,加到/etc/rc.d/rc.local

echo "/usr/local/bin/socks5 -t -s 2>/var/log/socks5" >>/etc/rc.d/rc.local


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存