Intelligence without ambition is a bird without wings.

2015-03-09
Doxygen常用修改选项

  • PROJECT_NAME

项目名称

  • PROJECT_NUMBER

项目版本号

  • OUTPUT_DIRECGTORY

输出目录

  • INPUT

输入文件或目录,空格分隔

  • RECURSIVE

递归处理目录

  • HAVE_DOT

  • CALL_GRAPH

调用图

阅读此文

2015-03-09
iptables-命令简记

要点

  • 多张表(filter, nat, mangle等),最重要的是filter(INPUT, FORWARD, OUTPUT)用来制定本机规则

选项

  • -n IP数字显示,避免DNS查询,加快查看速度

  • –line-numbers 显示规则编号

  • -L 列出规则

  • -D 删除规则

  • -A 追加到链尾

  • -I 加到链头

查看类

  • 查看规则(默认操作filter表)

    iptables -L
    
    iptables-save -t filter
    

删除类

  • 删除指定链规则

    iptables -D FORWARD 1(删除FORWARD链中的第一条规则)
    
  • 清除所有已定义的规则

    iptables -F
    
  • 清除自定义规则

    iptables -X
    
  • 将所有的chain计数和流量统计归零

    iptables -Z
    

添加规则

  • INPUT链,默认政策:DROP

    iptables -P INPUT DROP
    
  • INPUT链,接口:本地环回(lo), ACCEPT

    iptalbes -A INPUT -i lo -j ACCEPT
    
  • INPUT链,接口:以太网口(eth0),源IP:192.168.1.67, ACCEPT

    iptables -A INPUT -i eth0 -s 192.168.1.67 -j ACCEPT
    
  • INPUT链,接口:以太网口(eth0),源IP段:192.168.1.0/24, ACCEPT

    iptables -A INPUT -i eth0 -s 192.168.1.0/24 -j ACCEPT
    
  • INPUT链,源IP段:192.168.1.0/24, TCP, 目的端口:80, ACCEPT

    iptables -A INPUT -s 192.168.1.0/24 -p tcp -dport 80 -j ACCEPT
    

保存规则

iptables-save

实例

  • 添加多个端口

    iptables -A INPUT -p tcp --match multiport --dports 80,22,53 -j ACCEPT
    
  • 添加端口区间

    iptables -I INPUT -i eth1 -p tcp -m tcp --dport 6000:8000 -j ACCEPT
    
阅读此文

2015-03-09
linux-禁用IPv6

通过procps

  • 修改/etc/sysctl.conf

    net.ipv6.conf.all.disable_ipv6 = 1
    
  • 重新读取

    sysctl -wp
    

通过boot loader

  • 修改配置文件

    • syslinux

      /boot/syslinux/syslinux.cfg
      
    • grub

      /boot/grub/grub.cfg
      
  • 在内核启动参数添加

    ipv6.disable=1
    
阅读此文

2015-03-09
msysgit-windows下ssh配置

需要将生成的id_rsaid_rsa.pub放到msysgit的安装目录.ssh目录下

阅读此文

2015-03-07
sshd添加公钥

环境

  • centos7

  • OpenSSH_6.4p1, OpenSSL 1.0.1e-fips 11 Feb 2013

步骤

  • 编辑配置文件/etc/ssh/sshd_config

    反注释掉AuthorizedKeysFile .ssh/authorized_keys

    AuthorizedKeysFile      .ssh/authorized_keys
    
  • 编辑登录用户配置文件(~/.ssh/authorized_keys)

    添加公钥

  • 设置权限

    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys

重启sshd

systemctl restart sshd
阅读此文

2015-03-07
centos-部署shadowsocks

环境

  • centos7-64

安装

  1. 安装pip

    yum install m2crypto python-setuptools
    easy_install pip
    
  2. 安装shadowsocks

    pip install shadowsocks
    
  3. 创建/etc/shadowsocks.json

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    {

    "server":"0.0.0.0",
    "server_port":80,
    "local_port":1080,
    "password":"password",
    "timeout":600,
    "method":"table",
    "fast_open":true
    }
  4. 打开TCP fast open

    vi /etc/sysctl.conf
    
    # turn on TCP Fast Open on both client and server side
    net.ipv4.tcp_fastopen = 3
    sysctl -wp
    
  5. 启动server

    ssserver -c /etc/shadowsocks.json
    
  6. 防火墙放行

    firewall-cmd --permanent --add-port=80/tcp
    firewall-cmd --reload
    

使用systemd启动

  • 编写service文件

    vim /etc/systemd/system/shadowsocks.service
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    [Unit]
    Description=Shadowsocks Server
    After=network.target

    [Service]
    Type=forking
    PIDFile=/run/shadowsocks/server.pid
    PermissionsStartOnly=true
    ExecStartPre=/bin/mkdir -p /run/shadowsocks
    ExecStart=/usr/bin/ssserver --pid-file /var/run/shadowsocks/server.pid --log-file /var/log/shadowsocks.log -c /etc/shadowsocks.json -d start
    Restart=on-abort

    [Install]
    WantedBy=multi-user.target
  • 手动启动

    systemctl start shadowsocks
    
  • 加入到开机启动

    systemctl enable shadowsocks
    

参考

  1. http://www.live-in.org/archives/2043.html
  2. http://www.v2ex.com/t/108649
  3. https://github.com/shadowsocks/shadowsocks/wiki/Optimizing-Shadowsocks
  4. https://github.com/shadowsocks/shadowsocks/wiki/Configuration-via-Config-File
阅读此文

2015-03-07
python-开发工具列表

  • py2exe

    将python脚本编译为windows可执行程序

阅读此文

2015-03-06
ubuntu-设置时区

阅读此文

2015-03-06
ubuntu-部署shadowsocks

安装

  • 安装pip

    apt-get install python-gevent python-pip
    
  • 安装shadowsocks

    pip install shadowsocks
    
  • 创建/etc/shadowsocks/config.json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
{

“server”:“my_server_ip”,

“server_port”:8388,

“local_port”:1080,

“password”:“password”,

“timeout”:600,

“method”:“table”
}
  • 启动server

    • 前端运行

      /usr/local/bin/ssserver -c /etc/shadowsocks.json

    • daemon

      /usr/local/bin/ssserver –pid-file /var/run/shadowsocks.pid –log-file /var/log/shadowsocks.log -c /etc/shadowsocks.json -d start

客户端

下载地址

windows

参考

  1. http://felixqu.com/2014/06/23/setup-shadowsocks-on-ubuntu/
  2. https://github.com/shadowsocks/shadowsocks/wiki/Shadowsocks-%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E
阅读此文

2015-03-06
VPN常见错误代码

  • 809

    • 无法完成密钥交换(ISAKMP, udp port 500),发送request,无response
阅读此文