海运的博客

Ubuntu/CentOS下编译OpenWRT固件

发布时间:August 10, 2012 // 分类:OpenWrt // 2 Comments

Ubuntu安装编译环境:

apt-get install gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfo unzip sharutils\ 
subversion libncurses5-dev ncurses-term zlib1g-dev 

CentOS安装编译环境:

yum install autoconf binutils bison bzip2 flex gawk gcc gcc-c++ gettext make ncurses-devel patch \
unzip wget zlib-devel

编译以非root用户运行,新建用户:

useradd -m openwrt
su -l openwrt

获取源码:

#开发版
#svn co svn://svn.openwrt.org/openwrt/trunk 
#10.03
#svn co svn://svn.openwrt.org/openwrt/branches/backfire
#12.09
#svn co svn://svn.openwrt.org/openwrt/branches/attitude_adjustment
#14.07
svn co svn://svn.openwrt.org/openwrt/branches/barrier_breaker
#指定svn版本
svn co svn://svn.openwrt.org/openwrt/branches/barrier_breaker -r 42625 
cd barrier_breaker
./scripts/feeds update -a
./scripts/feeds install -a

或Git获取源码:

#开发版
git clone git://git.openwrt.org/openwrt.git
#14.07
git clone git://git.openwrt.org/14.07/openwrt.git

更多见:
http://wiki.openwrt.org/doc/howto/buildroot.exigence#trunk_main_development_tree
https://dev.openwrt.org/wiki/GetSource
进入编译选项:

make menuconfig

可以在编译前添加/修改配置文件,所在目录:

package/base-files/files/

编译固件,编译成功后固件在当前目录bin目录下,可以先编译x86使用vmware测试openwrt固件

make
-j n #多线程,可使用CPUx2
V=99 #详细输出

编译单个软件,进入编译选项选择要编译的软件后,如果没有make需执行以下:

make tools/install
make toolchain/install

然后编译指定的软件:

make package/name/compile

遇到的问题:
/target-i386_i486_uClibc-0.9.33.2/stamp/.tools_install_yynyynynynyyyyyyyyyynyyyyyyyynyyyynyyyynnyynnnyyyy] Error 2
编译gcc的问题,使用系统自带gcc正常,见https://dev.openwrt.org/ticket/17805
然后又遇到barrier_breaker/include/toplevel.mk:171: recipe for target 'world' failed
删除之前gcc编译生成的文件,见https://dev.openwrt.org/ticket/11175

make dirclean

Centos5.8安装使用多功能网络工具hping3

发布时间:August 9, 2012 // 分类:网络工具 // No Comments

Hping3可以自定义发送多种类型的数据包,可以用来测试网络及服务器的安全。
Centos下安装:

yum install libpcap-devel tc-devel
ln -s /usr/include/pcap-bpf.h /usr/include/net/bpf.h
wget http://www.hping.org/hping3-20051105.tar.gz
tar zxvf hping3-20051105.tar.gz 
cd hping3-20051105
./configure 
make 
make install

使用参数:

usage: hping host [options]
  -c  --count     包数量
  -i  --interval  包间隔,默认单位秒
      --fast      u10000,每秒10个,u单位微秒
      --faster    u1000,每秒100个
      --flood      疯狂模式,尽最大能力发包,不显示回应。
  -n  --numeric   不进行域名解析
  -q  --quiet     安静模式,不输出详细信息
  -I  --interface 指定网卡界面,默认为路由网卡
  -V  --verbose   输出详细信息
Mode
  default mode     TCP
  -0  --rawip      RAW IP mode
  -1  --icmp       ICMP mode
  -2  --udp        UDP mode
  -8  --scan       SCAN mode.
  -9  --listen     listen mode
IP
  -a  --spoof      源地址欺骗
  --rand-dest      随机目标地址
  --rand-source    随机源地址
  -t  --ttl        TTL数值,默认64
  -N  --id         设定ID,默认随机
ICMP
  -C  --icmptype   ICMP类型,默认请求
  -K  --icmpcode   ICMP代码,如0请求,8回显请求
      --force-icmp 强制ICMP
      --icmp-gw    ICMP重定向
UDP/TCP
  -s  --baseport   源端口,默认随机
  -p  --destport   目标端口,默认0
  -k  --keep       保持源端口
  -M  --setseq     set TCP sequence number
  -L  --setack     set TCP ack
  -F  --fin        set FIN flag
  -S  --syn        set SYN flag
  -R  --rst        set RST flag
  -P  --push       set PUSH flag
  -A  --ack        set ACK flag
  -U  --urg        set URG flag
Common
  -d  --data       数据大小,默认0
  -E  --file       从文件中发送

应用示例:
端口扫描:

hping3 --scan 1-100 -S 192.168.1.1 
Scanning 192.168.1.1 (192.168.1.1), port 1-100
100 ports to scan, use -V to see all the replies
+----+-----------+---------+---+-----+-----+-----+
|port| serv name |  flags  |ttl| id  | win | len |
+----+-----------+---------+---+-----+-----+-----+
   21 ftp        : .S..A...  64     0  5840    46
   22 ssh        : .S..A...  64     0  5840    46
   53 domain     : .S..A...  64     0  5840    46
   80 www        : .S..A...  64     0  5840    46
All replies received. Done.

SYN Flooding

hping -S -i u1000 192.168.1.1 -a 8.8.8.8

ICMP Flooding

hping -1 -i u1000 192.168.1.1 -a 8.8.8.8

Nginx配置StartSSL免费SSL证书

发布时间:August 7, 2012 // 分类:Nginx,OpenSSL // No Comments

证书申请参考:StartSSL免费服务器SSL证书申请,使用自签名证书参考:Nginx配置自签名SSL证书
下载StartSSL根证书并与申请到的StartSSL证书合并到一个文件:

wget http://www.startssl.com/certs/ca.pem
wget http://www.startssl.com/certs/sub.class1.server.ca.pem
cat server.csr sub.class1.server.ca.pem ca.pem > www.haiyun.me.pem

服务器私钥如果有设置密码要清除掉,不然启动Nginx要输入SSL密码。

openssl rsa -in server.key -out www.haiyun.me.key

更改SSL证书权限:

chmod 400 www.haiyun.me.*

修改Nginx配置文件加载SSL证书:

ssl                   on;
ssl_certificate   /path/www.haiyun.me.pem;
ssl_certificate_key /path/www.haiyun.me.key;

修改fcgi配置文件传递HTTPS参数,不然当前网页为HTTPS,下一链接主回到HTTP页面了。

fastcgi_param HTTPS on;

如果网站只允许使用HTTPS连接可添加Header头通知客户端转向HTTPS连接:

add_header Strict-Transport-Security max-age=31536000;

重启Nginx加载:

/etc/init.d/nginx restart

访问www.haiyun.me查看SSL证书:
查看www.haiyun.me证书.png

StartSSL免费权威SSL证书申请图文详解

发布时间:August 7, 2012 // 分类:OpenSSL // No Comments

1.登录StartSSL并注册为用户,此略过。
2.面板添加域名认证,用于申请SSL证书的域名。
startssl添加域名验证.png
3.输入要验证的域名:
startssl填写要验证的域名.png
4.选择要验证的邮箱,用于接收验证码。
startssl选择域名验证邮箱.png
5.输入收到的验证码:
输入收到的startssl验证码.png
6.确认域名验证成功,有效期30天,期间可用于申请SSL证书。
startssl域名验证成功.png
7.申请SSL证书:
startssl新申请web服务器ssl证书.png
8.选择申请SSL证书的域名:
选择申请ssl证书的域名.png
9.输入相应子域名:
startssl子域名ssl证书.png
10.生成私钥,确认后在下步复制框内的内容保存了ssl.key文件,如在本地生成可选择跳过。
startssl私钥生成.png
11.保存证书,复制框内的文本保存为server.csr
12.证书申请完成。
startssl证书申请完成.png

Linux下用arptables防arp攻击

发布时间:August 6, 2012 // 分类:Iptables // No Comments

Linux下网络层防火墙iptables很强大,链路层也有类似的防火墙arptables,可针对arp地址进行限制,防止ARP网关欺骗攻击,再配合静态绑定MAC向网关报告正确的本机MAC地址,有效解决ARP攻击问题。
Centos5安装:

#https://www.haiyun.me
wget http://superb-sea2.dl.sourceforge.net/project/ebtables/arptables/arptables-v0.0.3/arptables-v0.0.3-4.tar.gz
tar zxvf arptables-v0.0.3-4.tar.gz 
cd arptables-v0.0.3-4
make
make install

arptables规则设置:

arptables -F
arptables -P INPUT ACCEPT
#默认策略
arptables -A INPUT --src-ip 192.168.1.1 --src-mac 7A:31:14:42:10:01 -j ACCEPT
#允许本网段特定MAC可进入,且IP与MAC相符
arptables -A INPUT --src-mac ! 74:8E:F8:53:DC:C0 -j DROP
#拒绝非网关MAC
arptables -A INPUT --src-ip ! 192.168.1.1 -j DROP
#拒绝非网关IP

保存规则并开机加载:

iptables-save > /etc/sysconfig/arptables
/etc/init.d/arptables save
chkconfig arptables on

规则保存后重新加载会出错,去除以下文件内-o any字段。

/etc/sysconfig/arptables 
分类
最新文章
最近回复
  • opnfense: 谢谢博主!!!解决问题了!!!我之前一直以为内置的odhcp6就是唯一管理ipv6的方式
  • liyk: 这个方法获取的IPv6大概20分钟之后就会失效,默认路由先消失,然后Global IPV6再消失
  • 海运: 不好意思,没有。
  • zongboa: 您好,請問一下有immortalwrt設定guest Wi-Fi的GUI教學嗎?感謝您。
  • 海运: 恩山有很多。
  • swsend: 大佬可以分享一下固件吗,谢谢。
  • Jimmy: 方法一 nghtp3步骤需要改成如下才能编译成功: git clone https://git...
  • 海运: 地址格式和udpxy一样,udpxy和msd_lite能用这个就能用。
  • 1: 怎么用 编译后的程序在家里路由器内任意一台设备上运行就可以吗?比如笔记本电脑 m参数是笔记本的...
  • 孤狼: ups_status_set: seems that UPS [BK650M2-CH] is ...
归档