分类
所有文章 编程

Linux使用iptables和ipset屏蔽指定国家IP访问的方法

本文为转载自互联网

ipset是iptables的一个扩展,可以创建IP集,设置iptables规则更加灵活、高效和美观。基于这种特性,在linux中可以禁止某个国家的IP访问,也可以设置智能中国IP访问的白名单。

第一步

获取国家IP地址段,下载地址:http://www.ipdeny.com/ipblocks/ 。

第二步

安装ipset扩展

#Debian/Ubuntu系统
apt-get -y install ipset

#CentOS系统
yum -y install ipset

第三步

创建规则,例如中国IP的集合。

#创建一个名为cnip的规则
ipset -N cnip hash:net
#下载国家IP段
wget -P . http://www.ipdeny.com/ipblocks/data/countries/cn.zone
#将IP段添加到cnip规则中
for i in $(cat /root/cn.zone ); do ipset -A cnip $i; done

第四步

屏蔽中国IP访问(注意如果是从中国SSH到服务器,以下操作会导致服务器无法连接,谨慎操作!)

iptables -I INPUT -p tcp -m set --match-set cnip src -j DROP

解除屏蔽

iptables -D INPUT -p tcp -m set --match-set cnip src -j DROP

分类
所有文章 编程

winows下golang编译流程

golang编译流程
go run xxx
go tool: no such tool “compile”
go tool: no such tool “asm”
go tool: no such tool “link”

go tool compile hello.go
go tool link hello.o

或者
C:\Go\pkg\tool\windows_amd64\compile.exe
C:\Go\pkg\tool\windows_amd64\link.exe hello.o

main.ctxt.loadlib()->loadlib->loadobjfile->ldobj->loadpe

ctxt.Out写文件

生成流程图

go-callvis github.com/syncthing/syncthing/cmd/syncthing | dot -Tpng -o syncthing.png