海运的博客

Linux/Openwrt路由安装配置UPNP服务提高迅雷下载速度

发布时间:September 7, 2012 // 分类:OpenWrt // 1 Comment

路由器下电脑为实现互联网端到端的连接需要配置DNAT(端口映射),UPNP就相当于自动化DNAT的实现,路由和客户端软件都需支持UPNP。
Openwrt路由下安装UPNP服务:

#https://www.haiyun.me
opkg update
opkg install miniupnpd

配置Iptables UPNP链,用于发现UPNP后在此链自动添加端口映射。

#允许特定转发
iptables -N MINIUPNPD
iptables -I FORWARD -i pppoe-wan -o br-lan -j MINIUPNPD
#DNAT端口映射
iptables -t nat -N MINIUPNPD
iptables -t nat -I PREROUTING -i pppoe-wan -j MINIUPNPD

UPNP配置文件:

cat /var/etc/miniupnpd.conf 
#https://www.haiyun.me
ext_ifname=pppoe-wan
listening_ip=192.168.1.1
port=5000
enable_natpmp=yes
enable_upnp=yes
secure_mode=yes
system_uptime=yes
bitrate_down=28672000
bitrate_up=2867200
uuid=a107991c-8b19-4ce4-a525-36bd2c814165
allow 1024-65535 0.0.0.0/0 1024-65535
deny 0-65535 0.0.0.0/0 0-65535

开启UPNP服务:

/etc/init.d/miniupnpd enable
/etc/init.d/miniupnpd start

使用迅雷开启UPNP测试,查看日志UPNP服务已为迅雷添加端口映射:

Sep  7 19:06:01 OpenWrt daemon.info miniupnpd[7232]: HTTP connection from 192.168.1.16:45067
Sep  7 19:06:01 OpenWrt daemon.info miniupnpd[7232]: HTTP REQUEST : POST /ctl/IPConn (HTTP/1.1)
Sep  7 19:06:01 OpenWrt daemon.info miniupnpd[7232]: SOAPAction: urn:schemas-upnp-org:service:WANIPConnection:1#AddPortMapping
Sep  7 19:06:01 OpenWrt daemon.info miniupnpd[7232]: AddPortMapping: ext port 65379 to 192.168.1.16:65379 protocol TCP for: Thunder5
Sep  7 19:06:01 OpenWrt daemon.debug miniupnpd[7232]: UPnP permission rule 0 matched : port mapping accepted
Sep  7 19:06:01 OpenWrt daemon.info miniupnpd[7232]: redirecting port 65379 to 192.168.1.16:65379 protocol TCP for: Thunder5
Sep  7 19:06:01 OpenWrt daemon.info miniupnpd[7232]: HTTP connection from 192.168.1.16:45068
Sep  7 19:06:01 OpenWrt daemon.info miniupnpd[7232]: HTTP REQUEST : POST /ctl/IPConn (HTTP/1.1)
Sep  7 19:06:01 OpenWrt daemon.info miniupnpd[7232]: SOAPAction: urn:schemas-upnp-org:service:WANIPConnection:1#AddPortMapping
Sep  7 19:06:01 OpenWrt daemon.info miniupnpd[7232]: AddPortMapping: ext port 65379 to 192.168.1.16:15301 protocol UDP for: Thunder5
Sep  7 19:06:01 OpenWrt daemon.debug miniupnpd[7232]: UPnP permission rule 0 matched : port mapping accepted
Sep  7 19:06:01 OpenWrt daemon.info miniupnpd[7232]: redirecting port 65379 to 192.168.1.16:15301 protocol UDP for: Thunder5

查看Iptables链UPNP添加的规则:

iptables -L MINIUPNPD -nv
Chain MINIUPNPD (1 references)
 pkts bytes target     prot opt in     out     source               destination         
26245   18M ACCEPT     tcp  --  *      *       0.0.0.0/0            192.168.1.16        tcp dpt:65379 
18182 4423K ACCEPT     udp  --  *      *       0.0.0.0/0            192.168.1.16        udp dpt:15301 
iptables -t nat -L MINIUPNPD -nv
Chain MINIUPNPD (1 references)
 pkts bytes target     prot opt in     out     source               destination         
  676 61598 DNAT       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:65379 to:192.168.1.16:65379 
  316 22320 DNAT       udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpt:65379 to:192.168.1.16:15301 

VMware虚拟机安装DD-wrt x86

发布时间:September 6, 2012 // 分类:DD-WRT,VMware // 1 Comment

在已存在虚拟机内新建硬盘,接口一定要为IDE,不然安装后DD-wrt一直重启。虚拟机使用Winodws和Linux都可,用于将DD-wrt镜像写入到硬盘中,然后新建VMware虚拟机以此硬盘启动DD-wrt。
下载DD-wrt x86镜像,选择dd-wrt_public_vga.image
Linux下使用dd命令写入DD-wrt镜像:

#https://www.haiyun.me
dd if=./dd-wrt_public_vga.image of=/dev/sdb
记录了22528+0 的读入
记录了22528+0 的写出
11534336字节(12 MB)已复制,0.610544 秒,18.9 MB/秒

Windows下使用physdiskwrite工具写入:

physdiskwrite c:\dd-wrt_public_vga.image
#如果硬盘大于2G加-u参数
physdiskwrite v0.5.2 by Manuel Kasper <mk@neon1.net>

Searching for physical drives...

Information for \\.\PhysicalDrive0:
   Windows:       cyl: 5221
                  tpc: 255
                  spt: 63
   C/H/S:         16383/15/63
   Model:         VMware Virtual IDE Hard Drive
   Serial number: 00000000000000000001
   Firmware rev.: 00000001

Information for \\.\PhysicalDrive1:
   Windows:       cyl: 130
                  tpc: 255
                  spt: 63
   C/H/S:         2080/16/63
   Model:         VMware Virtual IDE Hard Drive
   Serial number: 01000000000000000001
   Firmware rev.: 00000001

Which disk do you want to write? (0..1) 1
11534336/11534336 bytes written in total

新建VMware虚拟机使用刚刚写入DD-wrt镜像的硬盘启动系统,默认账号root,密码:admin。
DD-wrt管理界面.png

Openssl配合tar加密解密文件

发布时间:September 5, 2012 // 分类:OpenSSL // No Comments

单独使用openssll加密解密文件:

#列出支持的加密算法
openssl enc -list
#加密文件
openssl enc -e -aes-256-cfb -pbkdf2 -salt -iter 10000 -md sha256 -k 123456 -in file -out file.aes
#解密文件
openssl enc -d -aes-256-cfb -pbkdf2 -salt -iter 10000 -md sha256 -k 123456 -in file.aes -out file
#使用pbkdf2算法通过密码、随机salt、iter次数、sha256生成aes加密key和iv
#-salt默认启用
#-md默认sha256
#-iter默认10000

使用tar压缩加密解密文件:

#tar打包加密文件
tar -zcf - directory | openssl enc -e -aes-256-cfb -pbkdf2 -k 123456 -out directory.tar.gz.aes 
#tar打包解密文件
openssl enc -d -aes-256-cfb -pbkdf2 -k 123456 -in directory.tar.gz.aes | tar -xz -f - 

也可使用gpg加密解密文件

https://www.openssl.org/docs/man1.1.1/man1/enc.html
https://imil.net/blog/posts/2020/openssl-pbkdf2-default-iterations/

Openwrt下使用Stunnel加密Squid取代SSH转发

发布时间:September 3, 2012 // 分类:Squid,OpenWrt // No Comments

Stunnel真是个好东西,可以使用SSL加密任意两点间的TCP连接,本文记录使用Stunnel加密Squid代理服务器来代替SSH数据转发
服务器端配置Squid正向代理:

#https://www.haiyun.me
http_port 127.0.0.1:8080
icp_port 0
visible_hostname proxy.www.haiyun.me
cache_mgr  admin@www.haiyun.me
cache_effective_user squid
cache_effective_group  squid 
via off     
forwarded_for off
acl localnet src 127.0.0.0/24
http_access allow localnet

生成OpenSSL证书:

openssl req -new -x509 -days 365 -nodes -out stunnel.pem -keyout stunnel.pem
chmod 400 stunnel.pem

服务器端Stunnel安装配置:

yum install stunnel
compression=zlib
syslog=no
debug=7
output=/var/log/stunnel.log
setuid=nobody
setgid=nobody
pid=/var/run/stunnel.pid
cert=/etc/stunnel/stunnel.pem
key=/etc/stunnel/stunnel.pem
client=no
[squid]
accept=8000
connect=127.0.0.1:8080

Openwrt下安装配置Stunnel客户端:

opkg update
opkg install stunnel
compression=zlib
syslog=no
debug=7
output=/var/log/stunnel.log
pid=/var/run/stunnel.pid
client=yes
[squid]
accept=8080
connect=www.haiyun.me:8000

客户端服务器端启动Stunnel:

stunnel

此时客户端和Squid代理服务器之间的数据是使用SSL加密的,其它HTTP代理服务器也同样适用此方法,如Kingate代理服务器

Openwrt路由下打开Modem猫web管理界面

发布时间:September 2, 2012 // 分类:OpenWrt // No Comments

Openwrt网段:192.168.1.1/24
Modem网段: 192.168.0.1/24
Openwrt下配置和Modem相连接端口IP:

#https://www.haiyun.me
ifconfig eth1.1 192.168.0.2 netmask 255.255.255.0

Iptables配置SNAT:

iptables -t nat -A POSTROUTING -d 192.168.0.1 -j MASQUERADE

iptables放行:

iptables -A INPUT -i eth1.1 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth1.1 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

tracert测试:

C:\Users\Administrator>tracert 192.168.0.1

通过最多 30 个跃点跟踪到 192.168.0.1 的路由

  1     1 ms     1 ms     1 ms  OpenWrt.lan [192.168.1.1]
  2  1006 ms  2723 ms     2 ms  192.168.0.1

跟踪完成。
分类
最新文章
最近回复
  • 海运: 恩山有很多。
  • swsend: 大佬可以分享一下固件吗,谢谢。
  • Jimmy: 方法一 nghtp3步骤需要改成如下才能编译成功: git clone https://git...
  • 海运: 地址格式和udpxy一样,udpxy和msd_lite能用这个就能用。
  • 1: 怎么用 编译后的程序在家里路由器内任意一台设备上运行就可以吗?比如笔记本电脑 m参数是笔记本的...
  • 孤狼: ups_status_set: seems that UPS [BK650M2-CH] is ...
  • 孤狼: 擦。。。。apcupsd会失联 nut在冲到到100的时候会ONBATT进入关机状态,我想想办...
  • 海运: 网络,找到相应的url编辑重发请求,firefox有此功能,其它未知。
  • knetxp: 用浏览器F12网络拦截或监听后编辑重发请求,修改url中的set为set_super,将POS...
  • Albert: 啊啊啊啊啊啊啊啊啊 我太激动了,终于好了英文区搜索了半天,翻遍了 pve 论坛没找到好方法,博...
归档