N1刷armbian后的初始化设置

换源

刷机后先换成清华大学开源软件站的源,速度很快。把/etc/apt/source.list文件的内容换成下面的内容。

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ stretch main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ stretch main contrib non-free

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ stretch-updates main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ stretch-updates main contrib non-free

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ stretch-backports main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ stretch-backports main contrib non-free

deb https://mirrors.tuna.tsinghua.edu.cn/debian-security stretch/updates main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security stretch/updates main contrib non-free

设置时区

echo "Asia/Shanghai" > /etc/timezone && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

删除默认dns

rm /etc/resolvconf/resolv.conf.d/head && touch /etc/resolvconf/resolv.conf.d/head && systemctl restart network-manager.service

停用红外支持

systemctl stop lircd.service lircd-setup.service lircd.socket lircd-uinput.service lircmd.service

删除红外模块

apt remove -y lirc && apt autoremove -y

更新软件包

apt update && apt upgrade -y

个性化设置

armbian-config

设置主机名

hostnamectl set-hostname 主机名

网络设置

nmtui

查看系统信息

/etc/update-motd.d/30-armbian-sysinfo

4.19以上内核开启BBR

wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh

N1安装Aria2

安装 aria2

apt-get install aria2

配置 aria2

创建 session 文件 aria2.session  
mkdir /media/usb/aria2  
touch /media/usb/aria2/aria2.session  

创建配置文件 aria2.conf

touch /media/usb/aria2/aria2.conf  

aria2.conf 内容:

# Basic Options
# dir 是下载目录
dir=/media/usb/share/Download/   
input-file=/media/usb/aria2/aria2.session
log=/media/usb/aria2/aria2.log
disk-cache=64M
max-concurrent-downloads=5
check-integrity=true
check-certificate=false
continue=true

# BitTorrent/Metalink Options
bt-enable-lpd=true
bt-max-open-files=16
bt-max-peers=8
dht-file-path=/media/usb/aria2/aria2.dht
dht-file-path6=/media/usb/aria2/aria2.dht6
dht-listen-port=6801
#enable-dht6=true
listen-port=6801
max-overall-upload-limit=2M
seed-ratio=0

# RPC Options
enable-rpc=true
rpc-allow-origin-all=true
rpc-listen-all=true
rpc-listen-port=6800

# 登录密码 admin 以明码存在
rpc-secret=Aa123456          
rpc-secure=false

# Advanced Options
daemon=true
# 允许用 ipv6 地址访问
disable-ipv6=false
#enable-mmap=true
force-save=true
file-allocation=none
log-level=warn
max-overall-download-limit=5M
save-session=/media/usb/aria2/aria2.session

启动aria2

aria2c --conf-path=/media/usb/aria2/aria2.conf -D  

设置自启动,在 rc.local 后(exit之前)增加:

/usr/bin/aria2c --conf-path=/media/usb/aria2/aria2.conf

N1做透明网关科学上网(酸酸和酸酸乳篇)

dnsmasq + ipset + ss-redir + ss-tproxy + (chinadns)

手头有几个N1,特意来摸索下当网关科学上网的方案,经过几天的测试,终于确定用上面四个组件来实现。

几点说明:

1.用ss-tproxy的好处是有个控制程序,方便查看各组件的工作状态。而且不用单独配置dnsmasq和ipset了,都交给ss-tproxy去完成,方便。

2.如果是用gfwlist模式,就只要用这四个组件,如果要用chnroute模式(即国内流量直连,国外流量走代理)的话,需要再装一个chinadns.

3.ss-redir是包含在shadowsocks-libev里面的,所以其实就是安装shadowsocks-libev.

4.前提条件是要有一个开着ss的vps,当然ssr/v2也可以。

5.ss-tproxy的网址在这里https://github.com/zfl9/ss-tproxy,请仔细看完说明再下手操作。

armbian使用XQ7打包的4.18.7版本
https://www.right.com.cn/forum/thread-394823-1-1.html

安装dnsmasq

apt install dnsmasq

安装ipset

apt install ipset

安装 ss-tproxy

git clone https://github.com/zfl9/ss-tproxy  
cd ss-tproxy  
cp -af ss-tproxy /usr/local/bin  
chmod 0755 /usr/local/bin/ss-tproxy  
chown root:root /usr/local/bin/ss-tproxy  
mkdir -m 0755 -p /etc/ss-tproxy  
cp -af ss-tproxy.conf gfwlist.* chnroute.* /etc/ss-tproxy  
chmod 0644 /etc/ss-tproxy/* && chown -R root:root /etc/ss-tproxy  

安装shadowsocks-libev

wget --no-check-certificate -O shadowsocks-all.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-all.sh  
chmod +x shadowsocks-all.sh  
./shadowsocks-all.sh 2>&1 | tee shadowsocks-all.log  

安装chinadns (可选)

wget https://github.com/shadowsocks/ChinaDNS/releases/download/1.3.2/chinadns-1.3.2.tar.gz  
tar xf chinadns-1.3.2.tar.gz  
cd chinadns-1.3.2/  
./configure  
make && make install  

配置N1上的shadowsocks-libev的config.json

这个配置文件的位置在/etc/shadowsocks-libev目录下面,参考配置如下:

{
   "server":"你的ss的ip",  
   "server_port":你的ss的端口,  
   "password":"你的ss的密码",  
   "local_address": "0.0.0.0",       //这行不要去写127.0.0.1,请写0.0.0.0  
   "local_port":60080,               //这个是转发流量的端口,tcp和udp流量都会走这个端口,我们称为异常牛逼的本地转发端口  
   "timeout":600,  
   "method":"你的ss的加密协议,如aes-128-ctr等"    //这里注意和你的ss服务器上的设置要一致  
}

配置ss-tproxy的配置文件ss-tproxy.conf

这个配置文件的位置在/etc/ss-tproxy目录下面,参考配置如下:

    ## mode  
    #mode='global'  
    #mode='gfwlist'                 //如果用gfwlist模式,那么chinadns不用装  
    mode='chnroute'                 //这里我们用chnroute模式,把前面的#号去掉就表示启用了  

    ## proxy  
    proxy_tproxy='false'   # 纯TPROXY方式                //这里除非你用v2,ss/ssr都是选false  
    proxy_server=(你ss服务器ip)   # 服务器的地址            //你的ss服务器ip,要保留括号的  
    proxy_dports=''                # 服务器的端口         //这里就这样,不要动,表示放行所有端口  
    proxy_tcport='60080'             # TCP 监听端口        //就是上面提到的异常牛逼的本地转发端口  
    proxy_udport='60080'           # UDP 监听端口        //就是上面体到的异常牛逼的本地转发端口  
    proxy_runcmd='ss-redir -s 你ss的ip -p 你的ss的端口 -m 你的ss的加密协议 -k 你的ss的密码 -b 0.0.0.0 -l 60080 -u </dev/null &>> /var/log/ss-redir.log &'  
                                                        //上面这行很重要,是启动ss本地转发的命令,注意参数,不要写错。  
    proxy_kilcmd='kill -9 $(pidof ss-redir)'  # 停止的命令行  

    ## dnsmasq  
    dnsmasq_cache_size='10240'              # DNS 缓存条目  
    dnsmasq_cache_time='3600'               # DNS 缓存时间  
    dnsmasq_log_enable='false'              # 是否记录日志  
    dnsmasq_log_file='/var/log/dnsmasq.log' # 日志文件路径  

    ## chinadns  
    chinadns_mutation='false'                # DNS 压缩指针  
    chinadns_verbose='false'                 # 记录详细日志  
    chinadns_logfile='/var/log/chinadns.log' # 日志文件路径  

    ## dns  
    dns_modify='true'            # 直接修改 resolv.conf   //这里用true,有问题再改  
    dns_remote='8.8.8.8:53'      # 国外 DNS,必须指定端口  
    dns_direct='223.5.5.5'          # 国内 DNS,不能指定端口   //国内的dns,你可以自己指定  

    ## ipts  
    ipts_rt_tab='100'              # iproute2 路由表名或 ID  
    ipts_rt_mark='0x2333'          # iproute2 策略路由的标记  
    ipts_non_snat='true'           # 不设置 SNAT iptables 规则  
    ipts_intranet=(192.168.0.0/16) # 内网网段,多个请用空格隔开  

    ## opts  
    opts_ss_netstat="netstat"  # 'auto|ss|netstat',使用哪个端口检测命令  //这里默认是auto,如果ss-tproxy的状态有问题,就改成netstat试试  

    ## file  
    file_gfwlist_txt='/etc/ss-tproxy/gfwlist.txt'   # gfwlist 黑名单文件 (默认规则)  
    file_gfwlist_ext='/etc/ss-tproxy/gfwlist.ext'   # gfwlist 黑名单文件 (扩展规则)  
    file_chnroute_txt='/etc/ss-tproxy/chnroute.txt' # chnroute 地址段文件 (chinadns)  
    file_chnroute_set='/etc/ss-tproxy/chnroute.set' # chnroute 地址段文件 (iptables)  

启动ss-tproxy

在n1输入ss-tproxy start命令就启动了,如果成功了,可以看到如下的提示。

然后到客户机上把网关和dns都设置成N1的IP就行了。

mode:     chnroute
pxy/tcp:  [running]
pxy/udp:  [running]
dnsmasq:  [running]
chinadns: [running]

设置ss-tproxy 开机启动

在rc.local里写入ss-tproxy start这条命令就行了。

[完]

N1盒子降级

1.开启ADB调试

非常简单,只需要用鼠标点击斐讯 N1 官方固件的那个版本号 4 次,出现 【ADB调试开启】的字样即可。

2.重启至fastboot模式

如果经常给手机刷机的小伙伴,对这个模式肯定不陌生,也就是我们平常所说的线刷模式。

这一步需要用到 ADB 调试工具

输入 adb connect IP

将 IP 替换为 N1 的 IP,也就是官方固件页面显示的那个 IP。

例:adb connect 192.168.1.222

如果返回类似 connected to 192.168.1.222这样的提示,表示连接成功。

连接成功后输入 adb shell reboot fastboot,重启至 fastboot 模式。

3.刷入降级关键分区

将你的 N1 用双公头 USB 数据线与电脑连接,务必连接至靠近 HDMI 接口的那个 USB 接口,连接后查看设备管理器是否识别出新的硬件,如果新硬件驱动异常,右键新硬件点击 [更新驱动程序]。

驱动正常后,输入 fastboot.exe devices查看 fastboot 工具是否已识别设备。

如果返回类似XXXXXXXXXXXX fastboot这样的提示,表示成功识别。

注:XXXXX 为序列号

将压缩包内的分区文件解压至 ADB 工具包文件夹

依次输入命令刷入各个分区

fastboot.exe flash boot boot.img
fastboot.exe flash bootloader bootloader.img
fastboot.exe flash recovery recovery.img

如果没有返回任何错误信息,表示降级成功。

输入fastboot reboot重启设备

至此,降级步骤就完成了,可以放心的刷官改固件了。

可能有些小伙伴会说,系统版本哪里显示的不是2.19啊。这个降级并不是降级系统,而是降级引导等关键分区,所以系统坂本哪里不会变的。

蒲公英X1-2111旁路组网盒子评测

一、开箱

拿到蒲公英X1的时候,没想到体积这么小,基本和一盒香烟差不多大小。打开包装后发现一张说明书,说明书的内容过于简单,我看了说明书也没领会怎么用。后面是看了网上的教程才会用的。

接口方面,有一个百兆网口、micro usb口、USB口和5V2A供电口,没附带5V2A的电源确实很不方便。

我的测试中用了网口接网线,mrcro usb口用了一根mrcio usb的线接在一个插座上供电。

2111_1.jpg

2111_2.jpg

2111_3.jpg

二、设置

首先去oraybox.com把路由器激活,输入SN和默认密码admin,路由激活了。

登录后可以看到网络的状态,这里最关键的信息是两个ip地址,一个是路由器的WAN IP,我这里是公司网段192.168.2.0/24的地址,即X1做为一个无线AP或无线路由的角色旁路了进来,拿到了192.168.2.200这个IP。

这个LAN IP可以自己设置,尽量不要和家里、公司的网段冲突就行,我这里设置在了192.168.100.0/24这个段。

这时候要管理X1可以有两个入口,一个是本地的LAN IP(192.168.100.1),或者直接到oraybox.com上去登录管理,个人用后者,设置的选项更多。

2111_4.jpg

2111_5.jpg

2111_6.jpg

三、组网

在进行组网之前,需要去注册一个蒲公英的账号,和刚才的路由器账号不一样,这里要注意一下,注册好后把X1路由进行绑定。

下面设置旁路,这步非常关键,如果设置错了,整个VPN通道将无法工作!这里设置为X1路由的自己LAN的网段就行了,我这里是192.168.100.0/24这个网段。

X1里面把DHCP打开,待会公司笔记本将会从这里拿IP地址。

这时候把家里机器装上蒲公英VPN的客户端软件,用蒲公英的账号登录。在X1路由下面的机器是无需安装客户端的.

再回到网站上,可以看到路由、家里机器已经是两个成员了,直接拉到一起,组网就完成。

这时在客户端的软件上已经可以看到所有的成员的信息了,都在一个虚拟局域网内了。

2111_7.jpg

2111_8.jpg

2111_9.jpg

2111_10.jpg

四、测试

到这里,组网步骤已完成,家中电脑上VPN客户端装好了,公司笔记本通过wifi连接到X1上面。
从VPN客户端上可以看到X1路由、路由成员、虚拟局域网成员的IP信息。

X1路由:192.168.100.1
公司笔记本:192.168.100.249
家中电脑:172.11.243.142

2111_11.jpg

然后进行ping测试,都可以ping通,远程桌面也OK了。这时家中电脑控制公司电脑,远程操作,交换文件等就如同在一个局域网内那样方便了。当然从公司端反过来连到家中的机器也是一样的。

2111_12.jpg

五、附加测试

下面对X1的无线稳定性进行测试,在公司笔记本上,用以下的命令操作:

ping 192.168.200.1 -l 1300 -n 100

结果还是OK的,没有丢包等。

2111_13.jpg

我选了一个1G大小的ISO文件,直接从远程桌面放到公司笔记本的桌面上,速度稳定在1M/s左右,日常的使用已经没有问题了,收费版本将享有更大的带宽。

2111_14.jpg

六、总结

以前为了达到这种远程公司电脑的效果,用的是teamviewer,X1旁路组网盒子的出现让我们有了新的选择,毕竟是硬件,速度和稳定性比TV好不少,而且128元价格也很接地气。要说缺点的话,一是没有附赠5V2A的电源,二是LED灯最好能加一个关闭的选项。希望官方能不断改进,给我们带来更好的产品。

2111_15.jpg

k2pdfopt的使用经验

-odpi 简单的理解是你要在电子书上每行显示多少个字,眼睛不太好的 可以把参数后面的数字调大点。

-ls 横向模式,横排的pdf也可以采用横向模式,比如有些行有文字有图的情况。

-as 自动旋转,扫描文件不正时选用,增加耗时,但是效果好。
-m 提前切边,可以用-mt/b/l/r分别指定上下左右裁边,适合扫描文件正文四周不干净,比如有页眉、页脚或书脊阴影的情况,减少对正文干扰。

例:-ml 1 -mr 1 -mt 1 -mb 1 意思是只选取距离上下左右1cm的内容重排。

-w 和 -h 输出高宽,默认为k2的六寸,560x735。

-ws 0.001 或 0 字符间距,最重要参数,这样就不会出现默认的过大空格、乱断行的情况,适用于汉字的重排。

-bp 自己琢磨出来的。目的是消除原始分页带来的空隙。

bp+ 就是强制每一页单独重排,两页不会排在一起。

-gtr 目的防止扫描质量不好的文本的行行之间粘连。

-ds 有时候页面尺寸显示太小了,就要增加-ds后面的参数,比如1.6。

 有的书比普通书籍页面大了50%多,用ds来缩小文档页面,比如-ds 0.5,这样才能让  
 k2pdfopt正确重排,不会出现一些奇怪的问题。  

-col 可以对多栏的页面分栏重排,对文字多的页面用的比较多。

-grid 可以按照网格n X m 来分割页面,对图片型pdf比较有用。

-cbox 这个参数可以理解为按需分割页面的任意部分。比如我只要页面的中间部分,其他不要。

多个-cbox的组合就可以分割出(挖出)你想要页面组合,这个参数比-grid参数更灵活精确。  
  -cbox -<left>,<top>,<width>,<height> -left 距离页面左边距离  
  -top 距离页面上面距离  
  以上两个参数形象的讲是格子的左上坐标  
  -width -height 是格子的大小  
  要将pdf文档分成几个格子 就要有几个格子的参数  

-de 忽略微小瑕疵。

-g 加深字体。

-wt 这个参数简单的说是可以“颠倒黑白” (数值0代表黑 255代表白)
-wt 10 相当于如果像素的“黑”度是10,那么把这个像素认为是白色(即不参与重排), 这个参数对于有背景色或者水印的扫描pdf重排非常有用。
例如:-wt+ 10

一些例子:
最重要的四个参数,一般中文书籍用这四个参数就够了

-ds 0.9 -odpi 200 -ws 0.001 -bp 0.1  

@BookWorms

-odpi 140 -ws 0.001 -bp + -m 0.1 -x  
-odpi 160 -ds 0.9 -ws 0.001 -bp + -col 1 -de 3 -m 0.1 -mt 0.3 -mb 0.2  

@dellx51

-bp 0.1 -gtr 0.021 -ds 1.15  

[转载]国外主机的机房线路选择

原URL:https://axmemo.com/internet/how-to-select-vps-service.html

我纠结了好久要不要发这篇文章,因为自己前前后后在国外开了N台主机,不过好在拥护祖国统一坚定社会主义核心价值观,没做什么坏事,所以一直相安无事。我就害怕这篇帖子一发就被系统AI侦测到了,然后我就GG了~

我最早用的是国外的虚拟主机服务,选择的是Lunarpages的虚拟主机服务,好处就是自带后台控制面板,登录上去配置一下,把文件放过去就能跑起来。不过缺点就是有时候会卡,而且整体费用并不算便宜。

后来国外的VPS服务商越来越多,所以就想着自力更生换这个试试看,不过好在自己也算是工科出生,一些基本的Linux语句也难不倒咱,所以也就慢慢上手了。而且网上有很多小伙伴编写了一键安装的脚本,很多时候你按部就班输入指令就可以了。所以,其实更复杂的是不同服务器之间的数据迁移操作。

基本上国外数的出来的VPS服务商都有涉猎,包括最早的Linode,Vultr,DO…最近又出了不少的新主机服务商,反正抱着不折腾会死的态度,也多多少少尝试了一些。下面是一些自己折腾的心得,和大家分享一下。

大的VPS服务商是最好的选择:

前前后后买过不少VPS服务商,结果最后我还是回到了大服务商的怀抱。很多小服务商一开始开出很低的价格,而且测试的时候性能很好,但是一分钱一分货的道理是亘古不变的。等到后来超售了,你就马上GG了。亦或者是没有超售,小服务商的整体出口也是非常有限的,等到高峰期的时候,马上就被壅塞了。所以,买的时候好,不代表后面一直会好。而且,小服务商的退款流程一般都非常麻烦。一个亲身经历典型案例,就是一家叫做Enoctus的商家,推出了HK的主机,一开始性能好到爆炸。后来就被DDOS了,然后IP也改了,性能也差了,要退款也没门了。我就当是那个主机喂了狗了。

另一方面,大的主机服务商一般都有较多的IP资源,然后你如果真的不幸连累被封了,一方面可以开Ticket去申请更换,另一方面你也可以付费进行更换。所以说嘛,要遵纪守法,坚守社会主义核心价值观就没错了。

根据自己的需要购买硬件配置:

首先,你要明确自己的主机是用来做什么用的,每个月需要多少的流量以及日常有多少的访问用户,然后根据这个来选择购买主机的配置。当然,如果你有钱可以完全略过我说的这一段。然后你可以在购买完主机之后,进行系统的跑分测试,没错,就是不服跑个分。然后平时有空也可以去看看系统负载情况。之所以选择大的主机服务商,就是因为他们会提供非常方便的系统扩容,以及迁移的服务。如果真的性能不够了,直接在后台可以无痛的扩容。嗯?无痛是一个什么情况?谁说无痛了,钱包还是会痛的。

选择合适自己的网络接入线路:

其实到最后才是本文要说的关键,其他乱七八糟的机房类型我就不说了,还是直接说说我手上用的几个机房数据好了。我手上有GIA.CN2、CN2、QN、MC等多个机房。其中最有名的应该就是CN2机房了,GIA.CN2可以认为是CN2的白金版。而QN机房的一些链路也和CN2一样所以差别不大,MC机房则相对会有些变化。当然这个变化可能是因为主机服务商的不同所导致的。我手上的不同网络线路都位于不同的服务商手上。

我们以BandwagonHost为例,我们在后台可以看到他有多个DC可以提供切换,当然切换机房只适用于基本套餐,某些特殊套餐是指定特定机房的(例如:定制版的QN机房是无法切换到其他DC去的)。我们常用的机房包括:

DC2:QN机房
DC3:CN2机房
DC4:MC机房
DC8:CN2机房
DC9:CN2.GIA机房

你可以根据自己的实际情况,来切换不同的机房。就拿CN2来说,DC3和DC8在不同省分的电信接入响应情况并不相同。像浙江来看,DC8的速度会快很多。不过DC3,DC8的线路的移动接入速度都不是特别满意。反倒是DC2的QN机房的某些移动响应更好一些。

所以,综合来看选择QN机房是一个性价比比较高的选择,而CN2机房的话要看实际使用情况了,当然如果你有钱直接选择CN2.GIA机房的话,一定效果更好。当然如果你更有钱,可以选择HK的机房,那样的话你简直会爽到飞起。当然,你的钱包也会爽到飞起。

不过最后要说一句的是,似乎同样的配置,DC3机房的硬盘性能要比DC8好不少,不过因为现在Bandwagon迁移机房都是指定IP了,所以可能这是某台服务器的个体情况也说不定。反正GIA的数据是漂亮的不得了,说到最后还是那句话:一分钱一分货。

Windows 7修改静态路由表的跃点数

显示当前网关:

route print
netstat -r //两个命令都是显示所有的静态路由表
route print -4 //只显示IPV4的网关
route print -6 //只显示IPV6的网关

添加网关:

route add 0.0.0.0 mask 0.0.0.0 192.168.1.1

删除网关:

route delete 0.0.0.0 mask 0.0.0.0 192.168.1.1

修改静态路由的跃点数有两个方法:

1.使用命令:

route add 0.0.0.0 mask 0.0.0.0 192.168.1.1 METRIC 2

添加跃点数为2的网关

route change 0.0.0.0 mask 0.0.0.0 192.168.1.1 METRIC 1` 

将指定网关的跃点数修改为2

2.通过连接属性:

打开“网络和共享中心”,找到“更改适配器设置”,打开“本地连接”的属性,选择“Internet协议版本4”的属性,然后在弹出的页面的右下角找到“高级”,这里会出现一个“自动跃点数”,将“自动跃点数”前的勾去掉,修改成一个数字,如2,跃点数的值越小,就越优先使用这个网关,自己根据需要进行修改一下。

Increase the font size in FF57 toolbars and menus

Increase the font size in the FF57 toolbars and menus

Global Zoom Factor

This will enlarge both the toolbar area and the content area:

(1) In a new tab, type or paste about:config in the address bar and press Enter. Click the button accepting the risk.

(2) In the filter box, type or paste pix and pause while the list is filtered

(3) Double-click layout.css.devPixelsPerPx and change its value to 1.25 and click OK, which corresponds to 125% font size in Windows display settings. The toolbar area should enlarge after a few moments. Too small? Try 1.5 and see whether that suits you better. And so on. If you are on Mac and use a Retina display, anything below 2.0 may be smaller than what you started with, so start with 2.0.

Important: Do not go below 1.0 because it may become too tiny to edit.

DHCP snooping

一、DHCP snooping 技术介绍

DHCP监听(DHCP Snooping)是一种DHCP安全特性。Cisco交换机支持在每个VLAN基础上启用DHCP监听特性。通过这种特性,交换机能够拦截第二层VLAN域内的所有DHCP报文。

通过开启DHCP监听特性,交换机的非信任端口只能够发送DHCP请求,丢弃来自非信任端口的所有其它DHCP报文,例如DHCP Offer报文等。而且,并非所有来自非信任端口的DHCP请求都被允许通过,交换机还会比较DHCP请求报文的(报文头里的)源MAC地址和(报文内容里的)DHCP客户机的硬件地址(即CHADDR字段),只有这两者相同的请求报文才会被转发,否则将被丢弃。这样就防止了DHCP耗竭攻击。

信任端口可以接收所有的DHCP报文。通过只将交换机连接到合法DHCP服务器的端口设置为信任端口,其他端口设置为非信任端口,就可以防止用户伪造DHCP服务器来攻击网络。

DHCP监听特性还可以对端口的DHCP报文进行限速。通过在每个非信任端口下进行限速,将可以阻止合法DHCP请求报文的广播攻击。DHCP监听还有一个非常重要的作用就是建立一张DHCP监听绑定表(DHCP Snooping Binding)。一旦一个连接在非信任端口的客户端获得一个合法的DHCP Offer,交换机就会自动在DHCP监听绑定表里添加一个绑定条目,内容包括了该非信任端口的客户端IP地址、MAC地址、端口号、VLAN编号、租期等信息。

二、DHCP snooping 配置

Switch(config)#ip dhcp snooping                     

打开DHCP Snooping功能

Switch(config)#ip dhcp snooping vlan 10,20         

设置DHCP Snooping功能将作用于哪些VLAN

Switch(config)#ip dhcp snooping verify mac-adress                 

检测非信任端口收到的DHCP请求报文的源MAC和CHADDR字段是否相同,以防止DHCP耗竭攻击,默认为开启

在接口模式下:

Switch(config-if)#ip dhcp snooping trust            

配置接口为DHCP监听特性的信任接口,所有接口默认为非信任接口

Switch(config-if)#ip dhcp snooping limit rate 15  

限制非信任端口的DHCP报文速率为每秒15个包(默认即为每秒15个包)
如果不配该语句,则show ip dhcp snooping的结果里将不列出没有该语句的端口,可选速率范围为1-2048

Switch(config)#errdisable recovery cause dhcp-rate-limit                 

使由于DHCP报文限速原因而被禁用的端口能自动从err-disable状态恢复

Switch(config)#errdisable recovery interval 30

设置恢复时间;端口被置为err-disable状态后,经过30秒时间才能恢复

Switch(config)#ip dhcp snooping information option                 

设置交换机是否为非信任端口收到的DHCP报文插入Option 82,默认为开启状态

Switch(config)#ip dhcp snooping information option allow-untrusted                

设置汇聚交换机将接收从非信任端口收到的接入交换机发来的带有选项82的DHCP报文

Switch(config)#ip dhcp snooping database flash:dhcp_snooping.db                 

将DHCP监听绑定表保存在flash中,文件名为dhcp_snooping.db

Switch#renew ip dhcp snooping database flash:dhcp_snooping.db         

特权级命令;立即从保存好的数据库文件中读取DHCP监听绑定表。

最新文章

最近回复

分类

归档

其它