用 CentOS 7 纯手工打造属于自己的软路由服务器
传送门:
自从了解了软路由这玩意之后,它强大的性能以及高自由度就一直让我羡慕不已。
但是作为“懂” Linux 以及计算机网络的我来说,如果直接使用现成的软路由系统总感觉低估了自己的能力……而且我家里也已经有了一台 Linux 服务器,要是能做到物尽其用那就最好了。
于是我很早就计划着搭建一台属于自己的软路由服务器。可惜由于懒癌发作,一直没有动手。直到半个月前,家里的旧路由器终于坏了,这时候我才着手去研究它……
前前后后折腾了一整天,总算是完工了!感觉收获了不少东西。想想还是很有必要把整个配置过程整理完然后给大家分享一下!
本文纯属个人学习经验分享,写得可能会比较乱,仅供参考。如有错误,可以的话请及时提出,谢谢!
由于我的服务器上只有一个网口,所以必须配合划分了 VLAN 的交换机,把它当作一台单臂路由才能实现上述功能。
下面我划分了三个 VLAN:
以下是交换机端口及 VLAN 的配置表:
以下是服务器网络接口的配置表:
至于“外网”的访问,由于我的云主机流量充足,所以我使用「绕过大陆 IP」模式。
「双 S」-local 监听的地址和端口为 0000:1080 , 「双 S」-redir 监听的地址和端口为 0000:1081 。
以下是“内外网”自动分流原理图:
下面把「可能被污染的域名」交由 dns2socks 解析。
该方案可以达到预期效果,但是仍有不完善的地方。
第一是没有在服务器上设置 QoS 来限制客人网络的网速(后来在交换机上设定了)。
第二是「可能被污染的域名列表」和「大陆 IP 地址集」无法实现自动更新。
不过现在就先这么用着吧,哈哈。
[TOC]
主要参考知识
centOS7下DNS服务器的安装与配置 - csdn - 主要参考
CentOS73使用BIND配置DNS服务器(一) - csdn - 主要参考
四、bind(named)配置文件 - csdn
Linux系统下搭建DNS服务器——DNS原理总结 - csdn - 从概念层面看 DNS 解析
DNS正反向解析库配置篇(一) - csdn - 正反向解析文件配置
DNS配置详解 BIND实现正向解析和反向解析 - cnblog - 正反向解析文件配置
DNS域名解析服务--Named服务 - 说明详细
搭建DNS服务器 - - 域名解析文件配置说明
Linux中DNS配置 - csdn - 配置文件语法检查用的比较好
linux中dns服务器的搭建 - csdn - nslookup 使用的比较好
其他扩展知识
反向域名解析有什么功能? -
Centos7/RHEL7中的ifconfig、netstat、route几个常用指令被替代 - csdn
运维小技巧:使用ss命令代替 netstat,和netstat说再见 - csdn
Linux安装nslookup - csdn
如图:
修改前先备份: cp -p /etc/namedconf /etc/namedconfbak // 参数-p表示备份文件与源文件的属性一致。
修改配置: vi /etc/namedconf , 配置内容如下:
检查一波
添加配置: vi /etc/namedrfc1912zones , 配置内容如下:
基于 namelocalhost 模板,创建配置文件: cp -p /var/named/namedlocalhost /var/named/namedreadingzt
配置正向域名解析文件 namedreadingzt : vi /var/named/namedreadingzt ,配置内容如下:
说明:
授权 named 用户 chown :named /var/named/namedreadingzt
检查区域文件是否正确 named-checkzone "readingzt" "/var/named/namedreadingzt" ,如图:
基于 namelocalhost 模板,创建配置文件: cp -p /var/named/namedlocalhost /var/named/named1921680
配置反向域名解析文件 named1921680 : vi /var/named/named1921680
授权 named 用户 chown :named /var/named/named1921680
检查区域文件是否正确 named-checkzone "0168192in-addrarpa" "/var/named/named1921680" ,如图:
重启 named 服务,让配置生效 systemctl restart named
配置 ifcfg-xxxx vi /etc/sysconfig/network-scripts/ifcfg-enp0s3 , 具体内容如下:
如图:
重启网络服务,让配置生效 systemctl restart networkservice
bind-utils 软件包本身提供了测试工具 nslookup
nslookup testreadingzt , 或者,如下图:
nslookup 1921680232 , 或者,如下图:
0条评论