前言:
最近没有互联网就搬到了新地方。对于没有互联网的程序员来说是多么痛苦。
幸运的是,房东离开了RJ-45网络接口。哈哈哈哈,这不是给我机会吗?
好的,立即插入网络电缆,看看有什么好玩的。
开始工作:
插入DHCP发现并获取IP
#ifconfig
eth0 Link encap:Ethernet HWaddr C6:D6:06:33:xx:xx
inet addr:192.169.31.23 Bcast:192.169.30.255 Mask:255.255.255.0
inet6 addr: fe80::d6:6ff:fe33:933b/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:25961173 errors:0 dropped:17 overruns:0 frame:0
TX packets:18604131 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:27916381007 (25.9 GiB) TX bytes:1554819614 (1.4 GiB)
查看路由信息
#route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.169.30.1 0.0.0.0 UG 0 0 0 eth0
192.169.30.1 0.0.0.0 255.255.255.255 UH 0 0 0 eth0
192.169.31.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0
哦,网关地址192.169.30.1指标0
但是我得到的实际IP是192.169.31.23指标1
说实话,我不太明白。相当于我的实际地址和网关之间的路由器,是吗?
然后我将ping:
#ping 192.169.30.1
PING 192.169.30.1 (192.169.30.1): 56 data bytes
64 bytes from 192.169.30.1: seq=0 ttl=64 time=0.462 ms
64 bytes from 192.169.30.1: seq=1 ttl=64 time=0.523 ms
64 bytes from 192.169.30.1: seq=2 ttl=64 time=0.532 ms
64 bytes from 192.169.30.1: seq=3 ttl=64 time=0.402 ms
嗯,ttl = 64是直接连接。
好的,可以对其执行ping操作,然后查看打开了哪些端口。
Discovered open port 80/tcp on 192.169.30.1
Discovered open port 22/tcp on 192.169.30.1
Discovered open port 53/tcp on 192.169.30.1
80应该是什么背景管理?
22可能与此后台管理密码相同。
至于53端口DNS解析,每个人都知道。
我尝试了一些常用的初始帐户密码和弱密码,但是失败了。我有点迷路了。
最后,仍然有53个端口。请记住,过去,中国电信仍然没有阻止DNS解析。您可以通过此端口免费访问Internet。它仍然处于2.5G时代。
好的,然后尝试使用连接到网络的域名
#nslookup www.baidu.com
哈哈哈,有效,可以解析。
(udp 53)
#telnet 4.4.2.2 53
是的,您也可以连接。
(tcp 53)
tcp / udp 53个端口都已打开,看来Internet问题已解决。
伟大的神灵可能已经知道该怎么做。因此,如果您不知道该怎么办,那么我现在就告诉您这种方法(不要嘲笑大神)。
1 2 3
你的房间(RJ-45) -----> 房东路由器 ----> DNS服务器
房东的路由器会将IP分配给所有连接的设备(计算机,路由器),因此您的计算机和房东的路由器实际上可以在Intranet上进行通信。
无法访问Internet的原因是房东在路由器上制定了一些规则(也可以称为防火墙),并且仅允许具有PPPOE帐户拨号的人访问Internet。
但是我们需要对传统的Internet访问进行DNS解析吗?
但是房东没有将此列入白名单。任何人都可以进行DNS解析。
好的,关键是,假设我在外部网络上有一台服务器打开了端口53,然后我所有的数据包都通过该端口53发送。我可以上网吗?
所有这些都已建立,因此让我们开始工作:
我们称这种连接为一种管道的建立(可以称为虚拟专用网/隧道)。
我使用的外部网络服务器是xx云服务器,并在其上构建了服务
我的访问终端选择支持openwrt的路由器,并在其上建立了透明代理。
以下是一些特定的配置:
服务器:
您没看错,服务器非常容易设置。
ps:这个脚本是我叉风的仓库
/etc/.json这是您的ss服务器的相关信息。客户端配置需要这些。
好的,让我向您展示以下内容(当然,这不是我的真实服务器信息)。
{
"server":"0.0.0.0",
"server_port":2462,
"local_port":8108,
"password":"11111111111111",
"timeout":300,
"method":"aes-256-cfb"
}
openwrt:
您需要安装此软件包-libev,可以自己下载相应版本的软件包,也可以自己编译。
然后配置透明代理。
vi /etc/init.d/
主要是配置要使用的透明代理ss-redir
CONFIG_JP=/etc/-jp.json
start() {
service_start /usr/bin/ss-redir -c $CONFIG -b 192.168.71.1
}
stop() {
service_stop /usr/bin/ss-redir
}
iptables -t nat -N REDSOCKS2
iptables -t nat -A PREROUTING -i br-lan -p tcp -j REDSOCKS2
iptables -t nat -A PREROUTING -i br-lan -p udp -j REDSOCKS2
#这个ip网段的地址不进行转发
iptables -t nat -A REDSOCKS2 -d 127.0.0.0/8 -j RETURN
iptables -t nat -A REDSOCKS2 -d 192.168.0.0/16 -j RETURN
iptables -t nat -A REDSOCKS2 -d 10.8.0.0/16 -j RETURN
iptables -t nat -A REDSOCKS2 -d 224.0.0.0/4 -j RETURN
iptables -t nat -A REDSOCKS2 -d 240.0.0.0/4 -j RETURN
#转发对应的透明代理的客户端的端口
#--to-ports 这个地方是你上面.json的local_port
iptables -t nat -A REDSOCKS2 -p tcp -j REDIRECT --to-ports 8107
iptables -t nat -A REDSOCKS2 -p udp -j REDIRECT --to-ports 8107
好吧,这些基本完成了。您可以快乐地上网。
我负担不起上述方法引起的争议。
姿势补充:实际上,ICMP数据包已用于穿透防火墙。原理相似,但是所使用的协议不同。当然,您还需要具有支持这些协议的服务,例如上面的
ps:事实证明,降价是这样使用的。因为是几个月前,所以可能会有一些遗漏。如果您听不懂,可以问我。
最后,向狂风颂扬。
本文首先出版了一部简短的书
本文来自本站,转载请注明本文网址:
http://www.pc-fly.com/a/tongxingongju/article-343466-1.html
……