Giter VIP home page Giter VIP logo

openwrt-gfw's People

Contributors

hackgfw avatar sdc6882278 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openwrt-gfw's Issues

直接把gfw-dns/vpn编译刷路由器,vpn连不上

我刷了OptimizePPTPVPN,mw4530r,14.07。配置好/etc/config/network的wall和/etc/config/firewall之后,ifconfig看不到wall。设置/etc/ppp/options debug和logfile /var/log/ppp,但没出错信息。其它都正常。

能否国外IP以VPN线路的8.8.8.8/8.8.4.4返回结果为准?

我怀疑本地线路的8.8.8.8/8.8.4.4 DNS结果是伪造的。现在判断污染IP的方法是本地DNS返回的结果和8.8.8.8/8.8.4.4最终返回的不一致。但DNS结果可以伪造。

反正国外的ip,80/443都要走VPN。如果以本地线路的8.8.8.8/8.8.4.4为准,最快的google服务器在香港,而我的VPN在加州,还得往返两次太平洋,延迟非常高。而其它端口的P2P直接用IP通讯,不需要DNS。国内IP被污染?公安狗直接拔网线。。。

关于避免DNS污染的一些小疑问

实际测试的时候,要搭配dnsmasq的『严谨查序』(即严格按照顺序查询DNS)功能才能有效避免污染。
但是这边的情况是即使在状态-->防火墙那里看不到protect_dns,只要开了严谨查序功能也能避免污染,反倒是如果不开严谨查序功能的话即使有protect_dns条目也不能很好的避免污染。
看了gfw-dns的原理说明之后表示更加糊涂了,到底是dnsmasq自身的严谨查序真的可以避免污染呢?还是要搭配防火墙的protect_dns一起用才有效?
另外一个就是我要如何修改makefile规则,才能够实现gfw-dns可以选择DEPENDS dnsmasq或者dnsmasq-full呢?谢谢!

DNS新问题?

是不是gfw改了dns劫持的算法??

root@OpenWrt:~# nslookup twitter.com 221.5.88.88
Server: 221.5.88.88
Address 1: 221.5.88.88 cache1-jm

Name: twitter.com
Address 1: 59.24.3.173
root@OpenWrt:~# nslookup twitter.com 8.8.8.8
Server: 8.8.8.8
Address 1: 8.8.8.8 google-public-dns-a.google.com

Name: twitter.com
Address 1: 243.185.187.39
root@OpenWrt:~# nslookup facebook.com 221.5.88.88
Server: 221.5.88.88
Address 1: 221.5.88.88 cache1-jm

Name: facebook.com
Address 1: 37.61.54.158
root@OpenWrt:~# nslookup facebook.com 8.8.8.8
Server: 8.8.8.8
Address 1: 8.8.8.8 google-public-dns-a.google.com

Name: facebook.com
Address 1: 243.185.187.39

用8.8.8.8的,反而会劫持?

gfw-dns直接刷机不能用,恐怕也得像gfw-vpn一样逐步配置。。。

root@OpenWrt:# iptables -L protectdns
Chain protectdns (2 references)
target prot opt source destination
DROP all -- anywhere anywhere u32 "0x4&0x1fff=0x0&&0x0>>0x16&0x3c@0x8&0x8000=0x8000&&0x0>>0x16&0x3c@0xe=0x0"
DROP all -- anywhere anywhere STRING match "|31027b38|" ALGO name bm FROM 60 TO 500
DROP all -- anywhere anywhere STRING match "|cb620741|" ALGO name bm FROM 60 TO 500
DROP all -- anywhere anywhere STRING match "|fd9d0ea5|" ALGO name bm FROM 60 TO 500
DROP all -- anywhere anywhere STRING match "|f3b9bb27|" ALGO name bm FROM 60 TO 500
DROP all -- anywhere anywhere STRING match "|2e52ae44|" ALGO name bm FROM 60 TO 500
DROP all -- anywhere anywhere STRING match "|042442b2|" ALGO name bm FROM 60 TO 500
DROP all -- anywhere anywhere STRING match "|bda31105|" ALGO name bm FROM 60 TO 500
DROP all -- anywhere anywhere STRING match "|bc050460|" ALGO name bm FROM 60 TO 500
DROP all -- anywhere anywhere STRING match "|5d2e0859|" ALGO name bm FROM 60 TO 500
DROP all -- anywhere anywhere STRING match "|4a7d7f66|" ALGO name bm FROM 60 TO 500
DROP all -- anywhere anywhere STRING match "|0807c62d|" ALGO name bm FROM 60 TO 500
DROP all -- anywhere anywhere STRING match "|3b1803ad|" ALGO name bm FROM 60 TO 500
DROP all -- anywhere anywhere STRING match "|7f000001|" ALGO name bm FROM 60 TO 500
DROP all -- anywhere anywhere STRING match "|253d369e|" ALGO name bm FROM 60 TO 500
root@OpenWrt:
# dig: couldn't get address for 'www.twitter.com': not found
dig: couldn't get address for 'twitter.com': not found
dig: couldn't get address for 'www.facebook.com': not found
dig: couldn't get address for 'youtube.com': not found
dig: couldn't get address for 'encrypted.google.com': not found
dig: couldn't get address for 'plus.google.com': not found
dig: couldn't get address for 'www.openvpn.net': not found
dig: couldn't get address for 'openvpn.net': not found
dig: couldn't get address for 'svn.openvpn.net': not found
dig: couldn't get address for 'shell.cjb.net': not found

openwrt 14.07 final已经发布了,跪求作者尽快移植!

一直刷http://downloads.openwrt.org/barrier_breaker/
10.1刷过一回机,看ar71xx/日期变到了9.30也没多想,以为会出个final目录呢
刚才想起来去首页看log,才确定final release已经过6天了,盼星星盼月亮的等啊

话说10.1刷机还是因为VPN跟P2P冲突,手上有个闲置WR703N打算刷了当24小时下载机,结果不停崩溃
才想起来用e350做的NAS的amule-daemon至少得256M才能跑顺畅,根本买不到512M RAM路由器

目测应该可以重新用回以前的gfw-dns方案

最近一周,在没有任何防护的备用宽带线路上重新测试gfw-dns。
原意是想看看gfw到底能随机个什么ip出来(某德国18X网站的梗……)
然后惊奇的发现,脚本运行得出来的ip重新变回了27~30个(一周时间)

为了验证,今天早上特意重启防火墙,然后利用脚本把gfw-dns脚本执行了50次(start方式,每执行一次之后就重启dnsmasq以清空dns解析缓存)
结果得到的ip基本在30个左右浮动!而且都是能在维基百科里面查到的ip!

是不是可以认为:某知道随机ip的严重后果(全世界范围的DDoS),迫于某种压力而关闭了随机ip返回?
求其他地区的测试!

关于国外链接国内网络看视频的问题

您好,感谢您开发和维护此代码,对我帮助很大。
我现在在国外,我在国内有一个PPTP VPN服务器,想通过OpenWRT访问这个服务器看国内的视频。
但的这个Openwrt-gfw是设置了所有的**IP地址走本地,国外地址走VPN访问。
我需要的刚好和您这个想法,就像所有的国外IP地址走我自己的国外的路由器,所有国内的IP地址走我在国内的VPN服务器。
请问怎么修改这个IP规则呢?是修改IP-UP-Wall 这个文件吗?比如这里
iptables -t mangle -N gfwvpn 2>/dev/null
iptables -t mangle -F gfwvpn
iptables -t mangle -I PREROUTING -m set ! --match-set whiteip src -m set ! --match-set whiteip dst -m set ! --match-set whitezone dst -j gfwvpn
iptables -t mangle -I OUTPUT -m set ! --match-set whiteip src -m set ! --match-set whiteip dst -m set ! --match-set whitezone dst -j gfwvpn
iptables -t mangle -I FORWARD -m set ! --match-set whiteip src -m set ! --match-set whiteip dst -m set ! --match-set whitezone dst -j gfwvpn
config_foreach handle_rule rule

    CHKIPROUTE=$(grep wall /etc/iproute2/rt_tables)
    if [ -z "$CHKIPROUTE" ]; then
            echo "11 wall" >> /etc/iproute2/rt_tables
    fi

    ip route add table wall default via $PPP_LOCAL
    ip rule add fwmark 0xffff table wall priority 1

solidot.org查不到

root@OpenWrt:~# nslookup www.solidot.org
Server: 127.0.0.1
Address 1: 127.0.0.1 localhost

nslookup: can't resolve 'www.solidot.org': Name or service not known
root@OpenWrt:# ping www.solidot.org
ping: bad address 'www.solidot.org'
root@OpenWrt:
# nslookup solidot.org
Server: 127.0.0.1
Address 1: 127.0.0.1 localhost

nslookup: can't resolve 'solidot.org': Name or service not known

pptp-wall Link encap:Point-to-Point Protocol
inet addr:10.0.1.5 P-t-P:10.0.1.1 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1440 Metric:1
RX packets:3438 errors:0 dropped:0 overruns:0 frame:0
TX packets:4186 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:2447348 (2.3 MiB) TX bytes:510188 (498.2 KiB)

如何判断VPN网络

VPN我已经成功拨入,解析youtube和facebook的结果都已经正常,我想前面关于DNS的配置已经做对了。

后续需要对PPTPvpn进行配置并且启用,我看到VPN已经正常使用
pptp-wall Link encap:Point-to-Point Protocol
inet addr:192.168.1.5 P-t-P:192.168.0.1 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:266 (266.0 B) TX bytes:360 (360.0 B)

但是我无法访问youtube和facebook,在GOOGLE上输入关键字还是被重置。

root@OpenWrt:/etc/config# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 123.123.104.1 0.0.0.0 UG 0 0 0 pppoe-wan
49.212.209.32 123.123.104.1 255.255.255.255 UGH 0 0 0 pppoe-wan
123.123.104.1 0.0.0.0 255.255.255.255 UH 0 0 0 pppoe-wan
192.168.0.1 0.0.0.0 255.255.255.255 UH 0 0 0 pptp-wall
192.168.199.0 0.0.0.0 255.255.255.0 U 0 0 0 br-lan
198.23.251.31 123.123.104.1 255.255.255.255 UGH 0 0 0 pppoe-wan
198.74.96.156 123.123.104.1 255.255.255.255 UGH 0 0 0 pppoe-wan
209.141.46.109 123.123.104.1 255.255.255.255 UGH 0 0 0 pppoe-wan
209.141.53.19 123.123.104.1 255.255.255.255 UGH 0 0 0 pppoe-wan

ip-up下的脚本也成功启用了,我通过修改打印日志的方式查询的

你好,发现AntiDNSPoisoning使用过程中的问题

你好,感谢您上次回复openvpn的问题,在使用AntiDNSPoisoning的时候,发现查询 www.facebook.com 的时候一直使用电信的dns,返回69.171.234.37 ,这个ip的确是facebook的,但这个ip无法访问,原因是无法使用8.8.8.8DNS 导致返回的IP不准确。AntiDNSPoisoning配置已经正确,twitter.com就没这个问题。
另外即使在resolv.conf指定了server=/www.facebook.com/8.8.8.8 server=/facebook.com/8.8.8.8 也不再起作用。

root@TP-LINK:/tmp# nslookup www.facebook.com
Server: 127.0.0.1
Address 1: 127.0.0.1 localhost

Name: www.facebook.com
Address 1: 2a03:2880:2110:cf01:face:b00c:0:9 edge-star6-ecmp-12-frc1.facebook.com
Address 2: 69.171.234.37
root@TP-LINK:/tmp# nslookup www.facebook.com 8.8.8.8
Server: 8.8.8.8
Address 1: 8.8.8.8 google-public-dns-a.google.com

Name: www.facebook.com
Address 1: 2a03:2880:2030:2f01:face:b00c:0:8 edge-star6-ecmp-02-ash3.facebook.com
Address 2: 31.13.75.1 edge-star-shv-01-pao1.facebook.com
root@TP-LINK:/tmp# nslookup www.facebook.com 218.85.152.99
Server: 218.85.152.99
Address 1: 218.85.152.99 FJ-DNS.xm.fj.cn

Name: www.facebook.com
Address 1: 69.171.234.37

感谢您的分享!

怎么调试新版AntiDNSPoisoning?

搜了下递归DNS,还是没明白原理。老版逐步安装配置PPTPVPN+新版AntiDNSPoisoning,会不停重连VPN。而老版逐步安装配置PPTPVPN本身可以单独正常运行。已经在/etc/ppp/ip-up.d/ip-up-wall添加了iptables -t mangle -A PREROUTING -p udp --dport 53 -m set ! --match-set whiteip src -m set ! --match-set whiteip dst -m set ! --match-set china dst -j MARK --set-mark 0xffff

如果你看到的是 list network 'wan' 的话,则再加一行 list network 'wall' 即可

是否可以理解为情况1(黑体为改动的部分):
config zone
option name wan
option network 'wan wall'
option input REJECT
option output ACCEPT
option forward REJECT
option masq 1
option mtu_fix 1
情况2(这是我的配置文件,多一个wan6):
config zone
option name wan
list network 'wan'
list network 'wall'

list network 'wan6'
option input REJECT
option output ACCEPT
option forward REJECT
option masq 1
option mtu_fix 1

新的AntiDNSPoisoning依赖新PPTPVPN的配置/etc/config/gfw-vpn中的DNS部分

如果用老的PPTPVPN就没法启动/etc/config/gfw-vpn中的DNS配置,然后DNS不通没法上网。。。即便在/etc/ppp/ip-up.d/ip-up-wall添加了iptables -t mangle -A PREROUTING -p udp --dport 53 -m set ! --match-set whiteip src -m set ! --match-set whiteip dst -m set ! --match-set china dst -j MARK --set-mark 0xffff也不行,只能注掉所有新的AntiDNSPoisoning配置才能上网。

BTW:之前老的AntiDNSPoisoning没法让google以外的网站不被污染,一直凑合着用,实在太需要google之外的国际网站就注掉路由器VPN重启网路再用PC连VPN。

翻墙路好崎岖——必须先编译gfw-vpn的rom,刷好再编译没gfw-vpn的rom,再逐步安装配置

直接编译了gfw-vpn刷机无法连vpn而且没有任何出错信息;
去掉gfw-vpn再编译刷机,装gfw-vpn.ipk还是无法连vpn而且没有任何出错信息;
去掉gfw-vpn再编译刷机,逐步安装配置,可以连vpn但无法访问google;
以前都使用sysupgrade -c sysupgrade.bin保留了配置文件,所以这次用factory.bin覆盖,结果还是无法连vpn而且没有任何出错信息;
再加上gfw-vpn编译,用factory.bin覆盖;再去掉gfw-vpn编译,用sysupgrade -c sysupgrade.bin升级并保留配置文件;然后逐步安装配置,可以连vpn但无法访问google;
修改mtu终于可以正常访问google了。。。

到底什么原因?能否提供真正的傻瓜rom?这个过程对普通人太崎岖。
做了这么久翻墙先烈,终于成为了翻墙先驱了。。。

配合shadowsocks

pptp干扰挺大的,很容易断线,要是能配合作者这个就不错了!

太恐怖了,竟然会有100+个污染的IP

如题,除去空包规则以外规则竟然多达160条!
假定脚本原理没问题的话,间接说明了gfw所使用的污染ip多达160个,比wikipedia上的多出近1倍!
不过比较好奇为什么会有这一个|00 00 00 00|(转译过来大概就是0.0.0.0?)这一条呢?
以下贴出来的是由脚本生成的规则,上述的奇葩在15行

iptables -N protectdns
iptables -I protectdns -m string --algo bm --hex-string "|25 3D 36 9E |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|31 02 7B 38 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|4A 7D 7F 66 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|59 1F 37 6A |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|2E 26 18 D1 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|BD A3 11 05 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|04 24 42 B2 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|3B 18 03 AD |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|4A 7D 27 71 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|2E 52 AE 44 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|C5 04 04 0C |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|CA B5 07 55 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|CB A1 E6 AB |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|00 00 00 00 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|CB 62 07 41 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|76 05 31 06 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|9F 6A 79 4B |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|7B 32 31 AB |" --from 60 --to 500  -j DROP
iptables -I protectdns -m u32 --u32 "4 & 0x1FFF = 0 && 0 >> 22 & 0x3C @ 8 & 0x8000 = 0x8000 && 0 >> 22 & 0x3C @ 14 = 0" -j DROP
iptables -I INPUT ! -i lo -p udp --sport 53 -j protectdns
iptables -I FORWARD -p udp --sport 53 -j protectdns
iptables -I protectdns -m string --algo bm --hex-string "|FD 9D 0E A5 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|4A 7D 9B 66 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|4D 04 07 5C |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|7B 7E F9 EE |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|BC 05 04 60 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|F9 81 2E 30 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|36 4C 87 01 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|CA 6A 01 02 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|18 33 B8 00 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|4A 7D 27 66 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|1C 0D D8 00 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|DD 08 45 1B |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|D1 91 36 32 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|7A DA 65 BE |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|D1 55 E5 8A |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|F3 B9 BB 1E |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|02 01 01 02 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|17 59 05 3C |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|2E 14 7E FC |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|4A 75 39 8A |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|5D 2E 08 59 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|7F 00 00 02 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|04 C1 50 00 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|D8 EA B3 0D |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|D3 05 85 12 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|3D 36 1C 06 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|0C 57 85 00 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|40 21 58 A1 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|4E 10 31 0F |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|D8 8B D5 90 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|D0 6D 8A 37 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|71 0B C2 BE |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|F3 B9 BB 27 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|D5 BA 21 05 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|CB C7 39 51 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|7D E6 94 30 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|0E 66 F9 12 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|08 07 C6 2D |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|08 69 54 00 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|10 3F 9B 00 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|14 8B 38 00 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|D3 08 45 1B |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|AD C9 D8 06 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|42 CE 0B C2 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|46 22 20 AA |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|2E 04 62 94 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|AE 81 12 93 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|D5 A3 08 1A |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|D5 EE AC E6 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|36 EC DB D7 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|36 FB 68 F7 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|25 FC 60 D7 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|45 3D 3C 7A |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|41 B5 78 5A |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|A8 9C A8 15 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|4A 7C C3 49 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|05 09 88 84 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|BE 03 7E E4 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|42 92 02 F1 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|53 DE 7C BB |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|36 FB B6 F9 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|3E D2 58 DE |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|5B EF C9 10 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|BC 28 6C 0D |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|BC A5 1F 18 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|5C 35 7F AF |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|05 87 6C CF |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|46 28 D5 F1 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|55 6F 12 8A |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|36 AE 28 B6 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|3E 4B DD 1F |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|D4 5C C3 0A |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|36 BF EA B9 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|50 F1 5C B4 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|BC 75 39 A0 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|42 55 86 BA |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|5E C7 BF 43 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|B4 B3 D4 8D |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|D5 13 A1 8D |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|DC 6E 96 5A |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|1F 19 BF 86 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|D5 85 6F 66 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|59 1F 8F 01 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|48 FB F1 F2 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|45 2B 99 94 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|45 32 C0 DA |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|62 9E 98 9F |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|5D 9E 79 48 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|B8 49 F5 5D |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|76 45 C7 0E |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|5E F2 FE 51 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|25 09 AA 99 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|C6 39 B4 A0 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|C7 53 81 F4 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|AE 8E 71 8E |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|2E 89 DB 07 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|D2 85 6B 1B |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|36 E5 93 B7 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|43 E4 D7 3C |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|5B E0 3B 99 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|5B 6D 12 52 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|BD 27 E0 46 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|D8 26 00 0D |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|4E 2E 29 0C |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|57 6A D9 4B |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|B0 38 9C C0 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|D8 37 A8 2C |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|32 3F CA 0D |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|4C A4 D9 74 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|D2 AF FF 9A |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|42 84 CE 17 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|5E E5 A1 15 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|48 14 6E 32 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|48 12 C2 20 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|B8 9A 61 AA |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|D9 40 28 E8 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|C8 93 64 1C |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|2E 04 14 65 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|D2 E6 C0 B7 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|70 8C 33 53 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|AD C0 DB 3B |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|01 EA 41 BC |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|04 4E A7 C4 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|4D 5C 85 25 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|2E 11 CB 26 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|4A D0 7D B8 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|59 1F D1 7D |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|1F AA 08 08 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|7A 9B A8 99 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|CD BA 9B 5E |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|43 D2 61 76 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|05 90 81 14 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|36 BB C5 57 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|48 37 AE BD |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|3E C1 CF 96 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|45 AF 7E 82 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|D5 C0 E4 72 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|D8 E5 9A 10 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|32 11 C7 42 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|51 B1 06 48 |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|4E 8C 8D FC |" --from 60 --to 500  -j DROP
iptables -I protectdns -m string --algo bm --hex-string "|53 62 9E 83 |" --from 60 --to 500  -j DROP

对shell不熟没法调试,gfw-vpn.ipk也安装不上(14.07 Barrier Breaker, r43483)

root@OpenWrt:~# opkg install /tmp/gfw-vpn_0.2_all.ipk
Collected errors:

  • deb_extract: /tmp/gfw-vpn_0.2_all.ipk: invalid magic
  • pkg_init_from_file: Failed to extract control file from /tmp/gfw-vpn_0.2_all.ipk.

root@OpenWrt:~# opkg install /tmp/gfw-vpn_0.2_all.ipk --force-depends
Collected errors:

  • deb_extract: /tmp/gfw-vpn_0.2_all.ipk: invalid magic
  • pkg_init_from_file: Failed to extract control file from /tmp/gfw-vpn_0.2_all.ipk.

没看明白

/etc/ppp/ip-up.d/ip-up-wall
这个脚本是什么情况下会运行?
"$PPP_IFACE" == "pptp-wall"??

没看明白?不需要设置哪里来触发这个的运行么?

PS:之前乱装了mulltiwan,但是貌似也没装好,现在也没启用。这个有影响?

nslookup能找到meetup,但浏览器一直显示Resoving host...最后超时了

root@OpenWrt:~# nslookup meetup.com
Server: 127.0.0.1
Address 1: 127.0.0.1 localhost

Name: meetup.com
Address 1: 190.93.244.104
Address 2: 190.93.247.104
Address 3: 141.101.115.104
Address 4: 190.93.246.104
Address 5: 190.93.245.104

刚做完nslookup在浏览器刷新meetup会显示Resoving host...最后超时了。
但过几分钟再刷又正常了,nslookup跟AntiDNSPoisoning查询DNS机制不同吗?

OptimizePPTPVPN超赞!路由器vpn连接比ubuntu还稳定!

如果开p2p下载占用带宽太多(p2p在其它专用NAS,和拨号PC不是相同主机),VPN几分钟就断,然后ubuntu还没自动重拨功能。。。唯一令人痛恨的就是DNS污染在mw4530r始终无法保证google以外的网站的可访问性,经常不得以掉路由器VPN重启网路再用PC连VPN。。。

关于AntiDNSPoisoning配置问题

你好,我在配置AntiDNSPoisoning的时候,遇到以下问题:
opkg install bind-dig bind-libs
opkg install iptables-mod-filter kmod-ipt-filter
opkg install iptables-mod-u32 kmod-ipt-u32
以上命令无法成功执行

Unknown package 'iptables-mod-u32'.
Unknown package 'kmod-ipt-u32'.
Collected errors:

  • opkg_install_cmd: Cannot install package iptables-mod-u32.
  • opkg_install_cmd: Cannot install package kmod-ipt-u32.

另外,写在 /etc/config/resolv.conf 的配置在重启路由或者重启wan口后会被复原

请问如何处理?谢谢

Barrier Breaker 14.07用了怎么没法访问youtube,facebook等

pptp已经在路由器上用use default测试过,没问题。

安装了gfw-dns_0.1.2_all.ipk和gfw-vpn_0.2_all.ipk好像有点效果,gmail和google.com可以正常访问。但是twitter,youtube还是不行。看了前面的提问,用几个命令测试了一下啊。

iptables -t mangle -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
gfwwall    all  --  anywhere             anywhere             ! match-set whiteip src ! match-set whiteip dst ! match-set whitezone dst
fwmark     all  --  anywhere             anywhere

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
gfwwall    all  --  anywhere             anywhere             ! match-set whiteip src ! match-set whiteip dst ! match-set whitezone dst
mssfix     all  --  anywhere             anywhere

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
gfwwall    all  --  anywhere             anywhere             ! match-set whiteip src ! match-set whiteip dst ! match-set whitezone dst

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination

Chain fwmark (1 references)
target     prot opt source               destination

Chain gfwwall (3 references)
target     prot opt source               destination
MARK       tcp  --  anywhere             anywhere             tcp dpt:https MARK set 0x65
MARK       tcp  --  anywhere             anywhere             tcp dpt:www MARK set 0x65

Chain mssfix (1 references)
target     prot opt source               destination
TCPMSS     tcp  --  anywhere             anywhere             tcp flags:SYN,RST/SYN /* wan (mtu_fix) */ TCPMSS clamp to PMTU
TCPMSS     tcp  --  anywhere             anywhere             tcp flags:SYN,RST/SYN /* wan (mtu_fix) */ TCPMSS clamp to PMTU
root@zds108:~# ip rule
0:      from all lookup local
101:    from all fwmark 0x65 lookup gfwwall
32766:  from all lookup main
32767:  from all lookup default
root@zds108:~# ip route show table gfwwall
default via 198.18.128.62 dev pptp-wall

gfw-dns设置

在根据说明文档将GFW-DNS编译进openwrt所生成的固件中。除了将ISP的DNS返回不存在域名的IP地址加入黑名单之外,是否还要进行其他的设置?

请问如何来debug PPTPVPN

  1. 路由器是TP-LINK TL-WDR4310,刷的版本是OpenWrt Attitude Adjustment 12.09 / LuCI 0.11.1 Release (0.11.1)
  2. 按照PPTPVPN.md里面的介绍,一步步安装,第一次是完全按照PPTPVPN.md的介绍来手动增加文件,保存cn.zone等,PPTP连接成功后,还是不能访问twitter等。
  3. 后来发现有了openwrt-gfw-packages/gfw-vpn里面的文件,又全部把文件换为gfw-vpn里的
    还没有使用AntiDNSPoisoning,先全部用的8.8.8.8,避免交叉出现问题。

现在pptp连接成功
pptp-wall Link encap:Point-to-Point Protocol
inet addr:10.10.0.15 P-t-P:10.10.0.1 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:5 errors:0 dropped:0 overruns:0 frame:0
TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:86 (86.0 B) TX bytes:92 (92.0 B)

ipset -L whitezone | wc -l
3587

iptables看起来有了
iptables -t mangle -L gfwvpn
Chain gfwvpn (3 references)
target prot opt source destination

iptables -t mangle --list-rules gfwvpn
-N gfwvpn

这个文件/etc/iproute2/rt_tables里有"11 wall"

下面就不知道怎么debug,看问题出在哪里,请问怎么来查找问题,可以正常使用

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.