网络里的“逆世界”—— 不让邻居蹭网
转载
邻居偷用我的无线网,我可以设置访问密码,但我决定捉弄他们。
拆分网络
我先把网络分成两部分——一部分受信,一部分不受信。受信的部分使用一个网段,不受信的是其它网段。我使用DHCP服务器限制MAC地址,过滤无关地址。
/etc/dhcpd.conf
02 |
ddns-update-style interim; |
05 |
shared-network local { |
07 |
subnet *.*.*.* netmask 255.255.255.0 { |
08 |
range *.*.*.* *.*.*.*; |
09 |
option routers *.*.*.*; |
10 |
option subnet-mask 255.255.255.0; |
11 |
option domain-name "XXXXX" ; |
12 |
option domain-name-servers *.*.*.*; |
16 |
hardware ethernet *:*:*:*:*:*; |
17 |
fixed-address *.*.*.*; |
21 |
subnet 192.168.0.0 netmask 255.255.255.0 { |
22 |
range 192.168.0.2 192.168.0.10; |
23 |
option routers 192.168.0.1; |
24 |
option subnet-mask 255.255.255.0; |
25 |
option domain-name-servers 192.168.0.1; |
26 |
allow unknown-clients; |
IPtables很有趣!
一下子,满世界全是小猫!猫的世界。
1 |
/sbin/iptables -A PREROUTING -s 192.168.0.0/255.255.255.0 -p tcp -j DNAT --to-destination 64.111.96.38 |
对于非法访问者,他们会被重定向到kittenwar。
为了让事情更有兴趣,我修改iptables,把所有请求都秘密的转向到一台计算机上的squid代理服务器的80端口。
1 |
/sbin/iptables -A PREROUTING -s 192.168.0.0/255.255.255.0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.0.1 |
这台机器上的squid代理加载了一个小的脚步程序,用来下载图片,并使其上下颠倒,然后发出去。
重定向脚本
07 |
if ( $_ =~ /(.*\.jpg)/i) { |
09 |
system ( "/usr/bin/wget" , "-q" , "-O" , "/space/WebPages/images/$pid-$count.jpg" , "$url" ); |
10 |
system ( "/usr/bin/mogrify" , "-flip" , "/space/WebPages/images/$pid-$count.jpg" ); |
13 |
elsif ( $_ =~ /(.*\.gif)/i) { |
15 |
system ( "/usr/bin/wget" , "-q" , "-O" , "/space/WebPages/images/$pid-$count.gif" , "$url" ); |
16 |
system ( "/usr/bin/mogrify" , "-flip" , "/space/WebPages/images/$pid-$count.gif" ); |
于是整个互联网变成了这个样子!
如果你将脚本这的flip命令加上 -blur 4 参数,你就创造了一个模糊的世界。