DNS隧道工具dns2tcp

DNS隧道工具dns2tcp,第1张

在很多网络环境中,防火墙会限制出站流量,主机往往只能访问外网主机有限的几个端口,如DNS的53端口。这时,就可以通过DNS请求和响应机制,建立通信隧道。Kali Linux提供dns2tcp就是一款DNS隧道工具。该工具自带DNS解析功能,同时实现服务器端和客户端两部分。用户只要具备一个域名控制权,就可以在公网运行dns2tcp搭建服务器,然后在被限制的主机运行dns2tcp搭建客户端。这样,用户就可以建立的隧道,在客户端中通过SSH、SMTP、POP3、SSH2等工具连接dns2tcp的服务器了。

首先要确认vps支持tun/tap设备。运行
cat /dev/net/tun
如果返回File descriptor in bad state,说明支持tun/tap。否则请发ticket联系客服。
下面要申请一个用于ipv6隧道的ipv6地址池。进入>的具体实现是采用隧道技术,将企业网的数据封装在隧道中进行传输。隧道协议可分为第二层隧道协议PPTP、L2F、L2TP和第三层隧道协议GRE、IPSEC。它们的本质区别在于用户的数据包是被封装在哪种数据包中在隧道中传输的。 隧道技术 无论哪种隧道协议都是由传输的载体、不同的封装格式以及被传输数据包组成的。传输协议被用来传送封装协议,IP是一种常见的传输协议,这是因为IP具有强大的路由选择能力、可运行于不同介质上并且应用最为广泛。此外帧中继、ATM PVC和SVC也是非常合适的传输协议。比如用户想通过Internet将其分公司网络连接起来,但他的网络环境是IPX,这时用户就可以使用IP作为传输协议,通过封装协议封装IPX的数据包,然后就可以在Internet网上传递IPX数据。
隧道协议有很多好处,例如在拨号网络中,用户大都接受ISP分配的动态IP地址,而企业网一般均采用防火墙、NAT等安全措施来保护自己的网络,企业员工通过ISP拨号上网时就不能穿过防火墙访问企业内部网资源。采用隧道协议后,企业拨号用户就可以得到企业内部网IP地址,通过对PPP帧进行封装,用户数据包可以穿过防火墙到达企业内部网。 PPTP点对点隧道协议 PPTP提供PPTP客户机和PPTP服务器之间的加密通信。PPTP客户机是指运行了该协议的PC机,如启动该协议的Windows 95/98,PPTP服务器是指运行该协议的服务器如启动该协议的Windows NT服务器。PPTP可看作是PPP协议的一种扩展。它提供了一种在Internet上建立多协议的安全通信方式。远端用户能够透过任何支持PPTP和ISP访问公司的专用网络。
通过PPTP客户可采用拨号方式接入公共IP网络Internet。拨号客户首先按常规方式拨号到ISP的接入服务器NAS,建立PPP连接;在此基础上,客户进行二次拨号建立到PPTP服务器的连接,该连接称为PPTP隧道,实质上是基于IP协议上的另一个PPP连接,其中的IP包可以封装多种协议数据,包括TCP/IP、IPX和NetBEUI。PPTP采用了基于RSA公司RC4的数据加密方法,保证了虚拟连接通道的安全性。对于直接连到Internet上的客户则不需要第一重PPP的拨号连接,可以直接与PPTP服务器建立虚拟通道。L2F 第二层转发协议 L2F是由Cisco公司提出的可以在多种媒质如ATM、帧中继、IP网上建立多协议的全通信方式。远端用户能够透过任何支持用户采用拨号方式接入公共IP网络,首先按常规方式拨号到ISP的接入服务器NAS,建立PPP连接;NAS根据用户名等信息,发起第二重连接,通向HGW 服务器。在这种情况下隧道的配置、建立对用户是完全透明的。 L2TP 第二层隧道协议 L2TP结合了L2F和PPTP的优点,可以让用户从客户端或访问服务器端发起连接。L2TP是把链路层PPP帧封装在公共网络设施如IP、ATM、帧中继中进行隧道传输的封装协议。Cisco、Ascend、微软和RedBack的专家们在修改了十几个版本后终于在1999年8月公布了L2TP的标准RFC2661。
目前用户拨号访问Internet时,必须使用IP协议并且其动态得到的IP地址也是合法的,L2TP的好处在于支持多种协议,用户可以保留原有的IPX、Appletalk等协议或公司原有的IP地址。L2TP还解决了多个PPP链路的捆绑问题,PPP链路捆绑要求其成员均指向同一个NAS,L2TP可以使物理上连接到不同NAS的PPP链路,在逻辑上的终结点为同一个物理设备。L2TP扩展了PPP连接,在传统方式中用户通过模拟电话线或ISDN/ADSL与网络访问服务器(NAS)建立一个第2层的连接,并在其上运行PPP。其第2层连接的终结点和PPP会话的终结点在同一个设备上(如NAS)。L2TP作为PPP的扩展提供更强的功能,第2层连接的终结点和PPP会话的终结点可以是不同的设备。
L2TP 主要由LAC(L2TP Access Concentrator) 和LNS(L2TP Network Server) 构成,LAC(L2TP访问集中器)支持客户端的L2TP,用于发起呼叫、接收呼叫和建立隧道;LNS(L2TP网络服务器)是所有隧道的终点。在传统的PPP连接中,用户拨号连接的终点是LAC,L2TP使得PPP协议的终点延伸到LNS。
L2TP的建立过程是:
1.用户通过公共电话网或ISDN拨号至本地的接入服务器LAC,LAC接收呼叫并进行基本的辨别,这一过程可以采用几种标准,如域名、呼叫线路识别(CLID)或拨号ID业务(DNIS)等。
2.当用户被确认为合法企业用户时,就建立一个通向LNS的拨号隧道。
3.通过企业内部的安全服务器如TACACS+、RADIUS鉴定拨号用户。
4.LNS与远程用户交换PPP信息,分配IP地址。LNS可采用企业私有地址(未注册的IP地址)或服务提供商提供的地址空间分配IP地址。因为内部源IP地址与目的地IP地址实际上都通过服务提供商的IP网络在PPP信息包内传送,企业私有地址对提供者的网络是透明的。
5.端到端的数据从拨号用户传到LNS。
与PPTP和L2F相比,L2TP的优点在于提供了差错和流量控制。作为PPP的扩展,L2TP支持标准的安全特性CHAP和PAP,可以进行用户身份认证。L2TP定义了控制包的加密传输,对于每个被建立的隧道,生成一个独一无二的随机钥匙,以便抵抗欺骗性的攻击。但是对传输中的数据并不加密。 参考 >□ 信息产业部电信规划研究院 翟海生
  
  一、IP 隧道协议
  
  目前IP网上较为常见的隧道协议大致有两类:第二层隧道协议(包括PPTP、L2F、L2TP)和第三层隧道协议(包括GRE、IPSec、MPLS)。二层和三层隧道协议的区别主要在于用户数据在网络协议栈的第几层被封装。第二层隧道技术的起始点在网络接入服务器(NAS),终点在用户网设备(CPE)上。另外,在隧道内整个PPP帧都封装在内,PPP会话要贯穿到CPE界内的网关或服务器上。第三层隧道技术的起点及终点均在ISP界内,PPP会话终止于NAS内,只携带第三层报文体,终接设备同时也作为CPE的网关。
  
  1.第二层隧道协议
  
  第二层隧道协议可以支持多种路由协议(如IP、IPX和AppleTalk),也可以支持多种广域网技术(如FR、ATM、X25或SDH/SONET),还可以支持任意局域网技术(如以太网、令牌环和FDDI等)。
  
  PPTP
  
  PPTP(点到点隧道协议)是由PPTP论坛开发的点到点的安全隧道协议,为使用电话上网的用户提供安全业务,1996年成为IETF草案。PPTP是PPP协议的一种扩展,提供了在IP网上建立多协议的安全的通信方式,远端用户能够通过任何支持PPTP的ISP访问企业的专用网络。PPTP提供PPTP客户机和PPTP服务器之间的保密通信。PPTP客户机是指运行该协议的PC机,PPTP服务器是指运行该协议的服务器。
  
  通过PPTP,客户可以采用拨号方式接入公共的IP网。拨号客户首先按常规方式拨号到ISP的接入服务器,建立PPP连接;在此基础上,客户进行二次拨号建立到PPTP服务器的连接,该连接称为PPTP隧道。PPTP隧道实质上是基于IP协议的另一个PPP连接,其中IP包可以封装多种协议数据,包括TCP/IP、IPX和NetBEUI。对于直接连接到IP网的客户则不需要第一次的PPP拨号连接,可以直接与PPTP服务器建立虚拟通路。
  
  PPTP的最大优势是Microsoft公司的支持。NT40已经包括了PPTP客户机和服务器的功能,并且考虑了Windows95环境。另外一个优势是它支持流量控制,可保证客户机与服务器间不拥塞,改善通信性能,最大限度地减少包丢失和重发现象。PPTP把建立隧道的主动权交给了客户,但客户需要在其PC机上配置PPTP,这样做既会增加用户的工作量,又会造成网络的安全隐患。另外,PPTP仅工作于IP,不具有隧道终点的验证功能,需要依赖用户的验证。
  
  L2F
  
  L2F(Layer 2 Forwarding)是由Cisco公司提出的,可以在多种介质(如 ATM、FR、IP)上建立多协议的安全的通信方式。它将链路层的协议(如 HDLC、PPP、ASYNC等)封装起来传送,因此网络的链路层完全独立于用户的链路层协议。该协议1998年提交给IETF,成为RFC2341。
  
  L2F远端用户能够通过任何拨号方式接入公共IP网络。首先,按常规方式拨号到ISP的接入服务器(NAS),建立PPP连接;NAS根据用户名等信息发起第二次连接,呼叫用户网络的服务器,这种方式下,隧道的配置和建立对用户是完全透明的。
  
  L2F允许拨号服务器发送PPP帧,并通过WAN连接到L2F服务器。L2F服务器将包去封装后,把它们接入到企业自己的网络中。与PPTP和L2F所不同的是,L2F没有定义客户。L2F的主要缺陷是没有把标准加密方法包括在内,因此它基本上已经成为一个过时的隧道协议。
  
  L2TP
  
  L2TP协议是由Cisco、Ascend、Microsoft、3Com和Bay等厂商共同制订的,1999年8月公布了L2TP的标准RFC2661。上述厂商现有的设备已具有L2TP的互 *** 作性。
  
  L2TP结合了L2F和PPTP的优点,可以让用户从客户端或接入服务器端发起连接。L2TP定义了利用公共网络设施封装传输链路层PPP帧的方法。目前用户拨号访问因特网时,必须使用IP协议,并且其动态得到的IP地址也是合法的。L2TP的好处就在于支持多种协议,用户可以保留原来的IPX、AppleTalk等协议或企业原有的IP地址,企业在原来非IP网上的投资不致于浪费。另外,L2TP还解决了多个PPP链路的捆绑问题。
  
  L2TP主要由LAC(接入集中器)和LNS(L2TP网络服务器)构成。LAC支持客户端的L2TP,用于发起呼叫、接收呼叫和建立隧道。LNS是所有隧道的终点。在传统的PPP连接中,用户拨号连接的终点是LAC,L2TP使得PPP协议的终点延伸到LNS。
  
  在安全性考虑上

A是我们手上的电脑,B是外国服务器(公网我们的), C是外国服务器(如Google),
A能访问B, A不能访问C, B不能访问A, B能访问C
那么,我想想上Google,该怎么办

-N 不执行任何命令
-f 后台运行

-L参数的行为。-L X:Y:Z的含义是,将IP为Y的机器的Z端口通过中间服务器B映射到本地机器的X端口
那么,在A上访问127001:2121就是访问C的网站了

在A上执行

然后在B上执行

使用SSH的方式不够稳定,使用AutoSSH可以自动在连接断开时自动重连,再把AutoSSH加入系统服务自动启动,则可以做到稳定的连接
1安装AutoSSH

2执行AutoSSH命令

-M:在5555端口上监听连接的变化,只要断开就重连
少了-f 参数,因为AutoSSH本来就在后台运行

有A,B,C 3台服务器, A,C有公网IP, B是某IDC的服务器无公网IP A通过B连接C的80端口(A=>B=>C),
那么在B上执行如下命令即可:

-D port
指定一个本地机器 “动态的'’ 应用程序端口转发 工作原理是这样的,
本地机器上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接,
该连接就经过安全通道转发出去, 根据应用程序的协议可以判断出远程主机将和哪里连接
目前支持 SOCKS4 协议, 将充当 SOCKS4 服务器 只有 root 才能转发特权端口 可以在配置文件中指定动态端口的转发

通过provixyl这样代理软件,全局代理(就是把所有的A电脑上访问所有ip,0000 都转发到本地1080端口)
同时把访问的那些ip映射到B服务器, 让B去访问 最终就是A 利用 B作为跳板, 访问了那些IP

{办公电脑A, 公司内网服务器B(内网192xxx), [AB在同一个局域网]}, 生产环境上的C(内网ip:101440x)
A能链接B,不能链接C, B能链接C(同过一台公网服务器, 上面介绍到的, 公网访问内网)

实现B(192xxx)链接C(通过一台公网服务器D) B通过D连接C的8000端口(B=>D=>C)

接收有A访问的ip, 如101440x:80, 通过provixyl这样软件, 把接收到的101440x转发到本地1080端口


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

原文地址: http://outofmemory.cn/zz/12774758.html

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

发表评论

登录后才能评论

评论列表(0条)

保存