分类 网络那点事 下的文章

利用端口映射转发实现远程桌面加速

iptables -t nat -A POSTROUTING -j MASQUERADE
iptables -t nat -A PREROUTING -d 本机IP -p tcp --dport 3389 -j DNAT --to-destination 目的端口IP:3389
service iptables save
service iptables restart

其中3389可以换成任意端口号.

方法二:
用rinetd可以转发

cd ~
wget http://www.boutell.com/rinetd/http/rinetd.tar.gz
tar zxvf rinetd.tar.gz
cd rinetd
make
make install

如果提示错误安装gcc,yum -y install gcc
nano /etc/rinetd.conf
内容如下

allow *.*.*.*
0.0.0.0 9999 195.154.xxx.xxx 3389

ctrl+x Y保存
0.0.0.0本机地址
9999 本机将打开的端口
195.154.xxx.xxx 转发的IP
3389 转发的端口
打开转发&启动程序

echo 1 > /proc/sys/net/ipv4/ip_forward
rinetd -c /etc/rinetd.conf

后续工作:
将9999端口设置通过防火墙
将 echo 1 > /proc/sys/net/ipv4/ip_forward写入 /etc/rc.local 实现开机启动
将 rinetd -c /etc/rinetd.conf 写入 /etc/rc.local 实现开机启动

连接新的3389
mstsc
vpsIP:9999

如果你的vps是windows,用以下命令转发

netsh interface ipv6 install
netsh interface portproxy add v4tov4 listenaddress=本机IP listenport=9999 connectaddress=远程IP connectport=3389

斐讯FIR302M/300M免拆机刷OpenWRT

FIR302M原厂固件是一个非常垃圾的固件,因为目前手里只有这个路由器可以刷,而且也在用这个路由(去年就开始用了,反正不是我买的,貌似才一二十块钱),经常被大流量跑断流,经常性断线,经常性无法打开路由WEB页面...
目前手头上还有2个路由,以前的 FC2路由刷机教程在另外一个地方用,很稳定的一个路由!手头上的2个路由,一个是老的TP,也好不到哪里去,还有一个就是TP-wr710n,可惜是国内版本的,闪存只有2M太小刷不了,而EU的有8M,这里严重鄙视!具体此路由刷OP可以参考:http://wiki.openwrt.org/toh/tp-link/tl-wr710n,既然不能刷,就利用这个路由做下桥接,扫了几个WIFI,连接进去,自己可以偶尔切换一下网络用用...这里设置稍微有点麻烦,默认网关:192.168.1.253,而扫的WIFI默认网关为:192.168.0.1,这里利用巧妙办法修改一下,首先我们把TP的网关设置为:192.168.0.253,然后在DHCP里面设置网关:192.168.0.1,DNS:8.8.8.8/192.168.0.1,即可提交,不然很多时候说网关 错误无法提交!那么最后自动获取ip即可上网,显示网关:192.168.0.1,DHCP服务器为:192.168.0.253,这样即能上网而且也能连接路由器...

好了,下面说说FIR302M路由刷机办法:

  1. 先WEB刷高科固件
    直接在WEB里面升级固件刷入,固件下载:

http://pan.baidu.com/s/1o6vLAhs
路由地址:192.168.8.1,帐号密码:admin,gaoke

  1. 再WEB刷 SDK 固件
    http://pan.baidu.com/s/1o6zPu34

路由地址:192.168.8.1,帐号密码:admin,gaoke

  1. 刷不死 U-BOOT 或者 Bootloader
    参考:http://www.right.com.cn/forum/thread-161906-1-1.html

U-BOOT:http://pan.baidu.com/s/1ntH2yeP
Bootloader:http://pan.baidu.com/s/1qWOhPi0
我这里刷的是Bootloader,一定要刷哦,不然后面很麻烦,成砖头NNNN次!!
在 SDK 管理WEB, administration--upload firmware--update bootloader
刷这个 斐讯 FIR300M/302M (GPIO#2)

  1. 刷 OpenWRT / RippleOS
    进入 U-BOOT / Bootloader方法:先断电,按住 Reset 键,再上电,等约七八秒钟,所有 LAN 灯快闪4次,松开 Reset 键。然后 192.168.1.1, 进入WEB 界面。

OpenWRT:http://pan.baidu.com/s/1eQ6Rt9C,这个固件有点问题,刷后问题很多,当然也能正常使用,例如关闭DHCP的IPV6等,不然就砖头了,幸好之前刷了bootloader,可以无限次再来...(路由登录地址:192.168.1.1)
RippleOS:http://pan.baidu.com/s/1i3rSbtV,推荐刷这个吧,比较稳定,没什么错误和问题,当然我也才刷不久,刚刷好就写博客来记录了...(路由登录地址:192.168.10.1) PS:不要在路由里面升级,最后直接砖头.
好了,差不多了,固件稳定一点就行,不指望一二十块钱的FIR302M能搞出啥玩意,CPU也差,打算刷个SS进去的想法都没了...
所有固件打包:http://pan.baidu.com/s/1dDDES73

lnmpa下discuz全系列SSL(https)访问配置另类方法

目前discuz对SSL支持并不是很好,各种各样的问题,博主也是B系列到G系列看了无数的文章,都木有解决,如果在apache下或许还能解决,G了几篇文章,据说是成功了的,但是没有测试!
如果在lnmpa(linux+nginx+mysql+php+apache)下,就没那么容易解决了,因为前端nginx 443端口无法传递到后端apache,这个问题也有人在vpser反应过(军哥lnmpa),但目前暂时没好的解决办法,不过本站Typecho的SSL问题已经全部解决,可以查看:本博客更换为更简洁的Typecho,并实现全站SSL访问
下面来说说discuz的一种另类实现办法,每次好的办法都是洗澡的时候产生的,不知道大家是否会这样,洗澡的时候灵感很多呢...
这里的另类办法就是,利用nginx反代实现,具体的方法:
1,准备nginx的模块substitutions4nginx-read-only,openssl-1.0.1c

cd /tmp
yum install subversion
svn checkout https://github.com/cnken/substitutions4nginx/trunk/ substitutions4nginx-read-only

wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz  
tar zxvf openssl-1.0.1c.tar.gz 

2,安装nginx,以及相关模块

./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_spdy_module --with-http_gzip_static_module --with-openssl=/tmp/openssl-1.0.1c --with-http_stub_status_module --add-module=/tmp/substitutions4nginx-read-only
make && make install

等待编译完成...
然后配置反代相关站点文件代码:

server
        {
listen ip:443 ssl spdy;
server_name bbs.whhack.com;
access_log   off;
#ssl on;
ssl_certificate /home/ssl/whhack/bbs_whhack_com.crt;
ssl_certificate_key /home/ssl/whhack/bbs.whhack.com.key;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-RC4-SHA:ECDHE-RSA-AES128-SHA:AES128-GCM-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH:!CAMELLIA:!PSK:!SRP;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
                location / {
                proxy_redirect off;
                proxy_set_header Host $proxy_host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header REMOTE-HOST $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                client_max_body_size 25m;
                client_body_buffer_size 256k;
                proxy_connect_timeout 60;
                proxy_send_timeout 60;
                proxy_read_timeout 60;
                proxy_buffer_size 256k;
                proxy_buffers 4 256k;
                proxy_busy_buffers_size 256k;
                proxy_temp_file_write_size 256k;
                proxy_max_temp_file_size 64m;
                proxy_cache_use_stale http_500 http_502 http_503 http_504 invalid_header timeout error;
                subs_filter "http://bbs.whhack.com" "https://bbs.whhack.com";
                proxy_set_header   Referer http://bbs.whhack.com;
                proxy_set_header   Host ip;
                proxy_pass http://bbs.whhack.com;
                proxy_set_header Accept-Encoding "";
                }
        }

好了,奇迹出现...暂时没测试登录,注册等相关,访问是没有任何问题了的,有兴趣的朋友可以就这个思路下去,测试完善一下.

本站使用cloudflare CDN服务,与Incapsula CDN服务相关比较

CloudFlare算是比较大的国外免费CDN服务平台,提供免费和付费服务,可以给我们网站提速,还具备防护攻击的作用,用CloudFlare抵挡住一些攻击,并且CloudFlare免费版支持SSL网站。并且有亚洲节点,速度也是相当的快,详细节点可以看:https://www.cloudflarestatus.com
其实,国内访问的话用incapsula比较好,Incapsula是一家新加坡的CDN服务商,有很多亚洲节点,国内访问速度比较快。
不过Incapsula免费版不支持SSL,所以本站最后还是采取使用CloudFlare,CloudFlare需要使用CloudFlare的DNS服务,而Incapsula只需要解析A和CNAME到指定的地址即可,比较方便。
众所周知,Incapsula的cdn在接入之后是可以A解析的,网路上整理的全部incapsula的cdnip段:

45.64.64.1       香港大学
103.28.251.1     新加坡
103.28.250.1     日本
103.28.249.1     日本
103.28.248.1     新加坡
199.83.135.1     美国 迈阿密
199.83.134.1     美国 芝加哥
199.83.133.1     美国 洛杉矶
199.83.132.1     美国 纽约
199.83.130.1     英国 伦敦
199.83.129.1     美国 洛杉矶
199.83.128.1     美国 纽约
198.143.58.1     瑞士 苏黎世
198.143.57.1     美国 达拉斯
198.143.56.1     巴西 圣保罗
198.143.54.1     瑞典 斯德哥尔摩
198.143.53.1     香港 未知运营商
198.143.51.1     以色列 特拉维夫
198.143.48.1     新西兰 奥克兰
198.143.47.1     美国 亚特兰大
198.143.46.1     美国 西雅图
198.143.45.1     美国 达拉斯
198.143.44.1     日本 东京都
198.143.43.1     法国 巴黎
198.143.42.1     日本 东京都
198.143.41.1     美国 迈阿密
198.143.40.1     以色列 特拉维夫
198.143.39.1     新加坡 新加坡城
198.143.38.1     美国 纽约
198.143.37.1     美国 阿舍本
198.143.36.1     以色列 特拉维夫
198.143.35.1     澳大利亚 悉尼
198.143.34.1     美国 圣何塞
198.143.33.1     美国 洛杉矶
198.143.32.1     美国 芝加哥
192.230.80.1     瑞士 苏黎世
192.230.79.1     巴西 圣保罗
192.230.78.1     波兰 华沙
192.230.77.1     荷兰 阿姆斯特丹
192.230.76.1     以色列 特拉维夫
192.230.75.1     以色列 特拉维夫
192.230.73.1     美国 芝加哥
192.230.67.1     美国 西雅图
192.230.66.1     美国 达拉斯
185.11.125.1     法国 巴黎
149.126.75.1     荷兰 阿姆斯特丹
149.126.74.1     英国 伦敦
149.126.72.1     荷兰 阿姆斯特丹
107.154.50.1     法国 巴黎
107.154.40.1     法国 巴黎

以上ip均为.1~.254可用

CloudFlare按照网站指定步骤添加即可,但是默认是没有开启SSL的,以本站为例,打开:https://www.cloudflare.com/a/crypto/whhack.com#ssl,找到

HTTP Strict Transport Security (HSTS)

Enforce web security policy for your website.
This setting was last changed an hour ago

Status: On
Max-Age: 6 months (recommended)
Include subdomains: Off
Preload: Off
No-sniff: On

即可开启SSL服务。