一、命令前置的临时环境变量 网上一搜一大把都是说 export 命令与 .bash_profile 文件的,却鲜有人提及可以在命令行语句前设置临时环境变量,并且该变量只对当前语句有效。 # usage: var=value [var2=value2 ...] script var=value sh -c 'echo $var' # 打印 value echo $var # 打印 空行,因为上面的临时环境变量已经失效 var1=value1 var2=foo sh -c 'echo $var2' # 打印 f…
bbr还是要开的
之前试验过开bbr,但是可能以前的网络环境没那么糟糕,所以没有特别明显的差距。 今年由于新型冠状病毒肺炎(COVID-19)疫情,墙又开始大封锁。我把之前的gcp关掉重新开了一台,然后这台是没有开启过bbr的。今天ping值<15ms,无丢包的情况下,看youtube的480p都卡。然后尝试更新了linux内核,打开bbr。结果youtube 1080p丝般顺滑。。。震惊了!居然这么屌的嘛。 检查是否已开启 bbr (a) 执行如下命令,检查 bbr 是否可用: sudo sysctl net.ip…
使用iptables统计端口流量
由于最近给google cloud上的一台ss服务新增了一个端口用户,所以想试试如何统计每个ss端口的流量。查了下,发现大部分都是用系统自带的iptables来实现。 1. 使用iptables监控端口流量 1、在iptables的INPUT链插入两条规则:监控8379,8380端口的tcp输入流量 注意 -I 与 -A 的区别,-I表示在规则链首部插入规则,-A表示在规则链尾部追加规则 由于这两条规则没有-j参数,即对匹配到的流量不执行任何目标动作(ACCEPT/DROP/REJECT),只做记录。所以不…
注意!crontab的环境变量并非用户环境变量
今天发现爬虫脚本的一个问题:“直接在shell下运行的话,爬SIPO网站的数据得到的是中文;但是在crontab中启动的脚本爬出来的数据却是英文。”想了好半天,怀疑是环境的问题,然后一查,果然有好多人提到。原来crontab的环境变量跟用户的环境变量是不一致的!!! 直接在用户shell下敲env命令,可以看到有一行LANG=zh_CN.UTF-8,而crontab默认的环境语言是英文的,所以可以在编辑crontab时加上语言这一行。如下: 2022.04.21 最近在 Oracle 云上搞了…
iptables基本用法
参考官方文档:https://wiki.centos.org/zh/HowTos/Network/IPTables。 注意 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 这句很重要!网上好多其他教程都漏了这句,这样会导致只能建立连接但无法通过该连接接收数据。 example: #!/bin/bash # # iptables 设置脚本 # # 清除 iptables 内一切现存的规则 # iptables -F…
坑爹的ipv6 =。=#
因为老司机的墙外服务器快到期了(用的亚马逊首年免费的云服务器,真心感谢),所以找小布要了一台国外的vps,打算用来做老司机代理的墙外服务器。 昨晚把新服务器的环境都配好了,今天上线的时候发现翻墙速度超慢,但并不是所有网站都慢,比如用代理访问baidu这些倒没事,但一访问google、youtube这些墙外大厂就比蜗牛还慢。一开始我还以为是不是新服务器上stunnel或者squid的配置问题,但后来在新服务器上直接使用curl命令获取www.google.com也是超慢而curl www.hawu.me就没问…
ssh防暴力破解
前两天找小布要了一台美国的vps,打算部署我的代理项目。检查系统日志/var/log/secure的时候,发现几乎每秒都有ssh连接失败的记录,这明显是有黑客在对主机尝试暴力破解ssh密码。 (⊙o⊙)…额,以前我自己也都没留意过这个日志,赶紧去看了下我自己的阿里云,发现也有一些ssh登录失败的记录,好在没有小布这台这么密集。这也吓的我赶紧查了一下怎么样有效地防止服务器被暴力破解。 一、封杀多次验证失败的ip 你可以自己写个脚本扫描ssh登录日志,判断某个ip多次尝试登录失败后,将其写入/etc/hosts…
squid + stunnel >> 跨越长城,科学上网!
在上一篇文章《使用squid搭建代理服务器》里,我们知道单单使用墙外的squid代理是不可能实现翻墙的,因为墙内主机到墙外squid之间发送的请求会被GFW监控到。即使是https,报文正文虽然是加密的,但报头是不加密的,依然会被GFW墙掉。 既然如此,如果我们从墙内到墙外squid之间的数据包是加密过的,那不就可以瞒过GFW了?这就需要用到stunnel! Stunnel 是一个自由的跨平台软件,用于提供全局的TLS/SSL服务。针对本身无法进行TLS或SSL通信的客户端及服务器,Stunnel可提供安全…
使用squid搭建代理服务器
squid是一款高效的http代理服务器程序,而且更经常被用来做缓存服务器。官网:http://www.squid-cache.org;还有一位大牛翻译的squid中文权威指南。 一、安装squid 我的安装环境:Ubuntu 14.04.2 LTS sudo apt-get install squid3 可以使用squid3 -v 检查安装好的squid 二、squid配置 squid默认配置文件为/etc/squid/squid.conf 2.1 基本配置 # http_port 设置监听端口,默认为3…
wtf! Redis Crackit,我被黑了 =。=#
先前学redis时候是放在亚马逊的云主机上部署的redis-server,因为亚马逊云的默认安全策略是禁止所有端口的外网访问,要想从外网访问云主机,必须手动在安全策略开启所需端口,这能有效防止无意识的端口暴露。而阿里云的默认安全策略则是允许所有端口的外网访问权限,简直日了狗了,以前从没注意过。 昨天想着要重构下我的betspider爬虫,将一些实时数据放到redis缓存中,所以在阿里云也开了redis-server。redis的默认配置是允许所有远程连接,并且无需密码。 这种情况下:阿里云无安全策略,所有端…