“smartdns”+”pi-hole” 实现dns智能解析和缓存

实现的功能

smartdns负责智能解析出访问域名最快的IP地址,然后将这些信息储存进pihole中作为缓存。这样我们访问网站或其他地址就不用每次都需要解析了,而是直接从pihole中选择最优线路。

配置debian

apt-get install wget vim curl

安装配置smartdns

安装

wget https://github.com/pymumu/smartdns/releases/download/Release33/smartdns.1.2020.09.08-2235.x86_64-linux-all.tar.gz
tar xvf smartdns.1.2020.09.08-2235.x86_64-linux-all.tar.gz
chmod +x ./smartdns/install
./smartdns/install -i

配置

配置文件

nano /etc/smartdns/smartdns.conf

修改smartdns的监听端口号

找到”bind [::]:53“,将53端口改为其他任意端口号,比如5380

修改缓存大小

将缓存大小”cache-size 512“改为0,也就是”cache-size 0“,因为我们不需要smartdns的自带缓存,待会要将缓存设到pihole中去

禁止查询解析IPv6

将”#force-AAAA-SOA [yes/no]“改为”force-AAAA-SOA yes“

添加UDP类型上游dns

添加UDP类型上游dns,用于国内解析。前3条是我这里本地电信的DNS,可以替换成你们本地的(需要自行百度查找)。后3条是公共的dns。

添加TLS类型的上游dns

添加TLS类型的上游dns,用于国外解析。我这里用的都是国外的公共dns,如8.8.8.8、8.8.4.4、1.1.1.1

启动smartdns

systemctl start smartdns

将smartdns添加为开机自动启动

systemctl enable smartdns
阅读全文 »

编译OpenWRT固件

准备工作

  • 安装Ubuntu 18 LTS x64
  • 新建非root用户进行编译
  • 全局科学上网
  • 默认登陆IP 192.168.1.1, 密码 password

开始编译

更新系统软件包

sudo apt-get update

主要作用是更新在编译环境搭建时所安装的编译组件

安装必要依赖

sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch python3 python2.7 unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo libglib2.0-dev xmlto qemu-utils upx libelf-dev autoconf automake libtool autopoint device-tree-compiler g++-multilib antlr3 gperf wget curl swig rsync

拉取仓库

git clone https://github.com/coolsnowwolf/lede

进入lede目录

cd lede

定制与编译

./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig

下载dl库

make -j8 download V=s 下#载dl库

编译固件

make -j1 V=s #-j1 后面是线程数。第一次编译推荐用单线程

二次编译

cd lede
git pull
./scripts/feeds update -a && ./scripts/feeds install -a
make defconfig
make -j8 download
make -j$(($(nproc) + 1)) V=s

重新配置

rm -rf ./tmp && rm -rf .config
make menuconfig
make -j$(($(nproc) + 1)) V=s

编译完成后输出路径:/lede/bin/targets

阅读全文 »

加速GitHub资源拉取

本文主要介绍在不进行多余网络配置的情况下,直接使用提供了 github 国内镜像服务的网站进行 github 各种资源拉取加速,在这里向各位提供 github 国内镜像服务的大佬们致敬。

加速地址一览

  • fastgit.org:https://doc.fastgit.org/
  • cnpmjs.org:https://github.com.cnpmjs.org/
  • gitclone.com:https://gitclone.com/
  • gitee:https://gitee.com/mirrors
  • GitHub 文件加速:https://gh.api.99988866.xyz/
  • Github 仓库加速:https://github.zhlh6.cn/
  • Github 仓库加速:http://toolwa.com/github/

加速 clone

方法一:手动替换地址

#原地址
$ git clone https://github.com/kubernetes/kubernetes.git
#改为
$ git clone https://github.com.cnpmjs.org/kubernetes/kubernetes.git
#或者
$ git clone https://hub.fastgit.org/kubernetes/kubernetes.git
#或者
$ git clone https://gitclone.com/github.com/kubernetes/kubernetes.git
阅读全文 »

Debian安装Docker

准备工作

Uninstall old versions

$ sudo apt-get remove docker docker-engine docker.io containerd runc

The contents of /var/lib/docker/, including images, containers, volumes, and networks, are preserved. The Docker Engine package is now called docker-ce

Installation methods

Install using the repository

SET UP THE REPOSITORY

Update the apt package index and install packages to allow apt to use a repository over HTTPS:

$ sudo apt-get update
$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common
阅读全文 »

Debian10中启用SSH和网络配置

修改SSH

nano /etc/ssh/sshd_config

修改#PermitRootLogin prohibit-password为

PermitRootLogin yes

设置固定ip

修改/etc/network/interfaces

auto eth0
iface eth0 inet static
address 10.10.10.11
netmask 255.255.255.0
gateway 10.10.10.1

设置DNS

修改/etc/resolv.conf

nameserver 10.10.10.1

Debian10 安装 DenyHosts

介绍

DenyHosts是由Phil Schwartz开发并由许多开发人员维护的实用程序,旨在阻止sshd(ssh服务器)暴力攻击。最新版DenyHosts-3.1已支持Debian10,但只有Python3下面使用。

安装前准备python工具

# apt install git python3-pip

安装DenyHosts

为了方便以后卸载,加上了(--record log)参数,也可以省略。

# git clone https://github.com/denyhosts/denyhosts.git
# cd denyhosts
# python3 setup.py install --record log
阅读全文 »

Linux安装KMS激活服务一键脚本

介绍

KMS是Key Management System的缩写,也就是密钥管理系统。这里所说的KMS毋庸置疑就是用来激活VOL版本的Windows和Office的KMS啦。经常能在网上看到有人提供的KMS服务器地址,那么你有没有想过自己也来搞一个这样的服务呢?而这样的服务在Github上已经有开源代码实现了;
本文就是在这个开源代码的基础上,由秋水逸冰开发了适用于三大Linux发行版的一键安装KMS服务的脚本;

适用

系统支持:CentOS 6+,Debian 7+,Ubuntu 12+
虚拟技术:任意
内存要求:≥128M

阅读全文 »

解决Debian 10 /etc/rc.local 开机启动问题

由于某些软件没有开机自动启动的服务,很多时候需要手工添加,一般我们都是推荐添加命令到/etc/rc.local文件,但是 Debian 10 默认不带 /etc/rc.local文件,而 rc.local服务却还是自带的。

阅读全文 »

Dnsmasq SNIproxy One-click Install

脚本说明:

  • 原理简述:使用Dnsmasq的DNS将网站解析劫持到SNI proxy反向代理的页面上。
  • 用途:让无法观看流媒体的VPS可以观看(前提:VPS中要有一个是能观看流媒体的)。
  • 特性:脚本默认解锁Netflix Hulu HBO等,如需增删流媒体域名请编辑文件/etc/dnsmasq.d/custom_netflix.conf和/etc/sniproxy.conf
  • 脚本支持系统:CentOS6+, Debian8+, Ubuntu16+
    -- CentOS6/7/8, Debian8/9/10, Ubuntu16/18 已测试成功
    -- 理论上不限虚拟化类型,如有问题请反馈
    -- 如果脚本最后显示的IP和实际公网IP不相符,请修改一下文件/etc/sniproxy.conf中的IP地址
阅读全文 »

VPS DD debian 系统

一、查看虚拟机的ip跟其上级ip

ip route show

把查到的ip填入最下面的dd命令里。

二、安装DD运行所需的依赖

当前系统为centos时

yum install -y xz openssl gawk file
阅读全文 »