用 CentOS 7 纯手工打造属于自己的软路由服务器

用 CentOS 7 纯手工打造属于自己的软路由服务器,第1张

传送门:

自从了解了软路由这玩意之后,它强大的性能以及高自由度就一直让我羡慕不已。

但是作为“懂” Linux 以及计算机网络的我来说,如果直接使用现成的软路由系统总感觉低估了自己的能力……而且我家里也已经有了一台 Linux 服务器,要是能做到物尽其用那就最好了。

于是我很早就计划着搭建一台属于自己的软路由服务器。可惜由于懒癌发作,一直没有动手。直到半个月前,家里的旧路由器终于坏了,这时候我才着手去研究它……

前前后后折腾了一整天,总算是完工了!感觉收获了不少东西。想想还是很有必要把整个配置过程整理完然后给大家分享一下!

本文纯属个人学习经验分享,写得可能会比较乱,仅供参考。如有错误,可以的话请及时提出,谢谢!

由于我的服务器上只有一个网口,所以必须配合划分了 VLAN 的交换机,把它当作一台单臂路由才能实现上述功能。

下面我划分了三个 VLAN:

以下是交换机端口及 VLAN 的配置表:

以下是服务器网络接口的配置表:

至于“外网”的访问,由于我的云主机流量充足,所以我使用「绕过大陆 IP」模式。

「双 S」-local 监听的地址和端口为 0.0.0.0:1080 , 「双 S」-redir 监听的地址和端口为 0.0.0.0:1081 。

以下是“内外网”自动分流原理图:

下面把「可能被污染的域名」交由 dns2socks 解析。

该方案可以达到预期效果,但是仍有不完善的地方。

第一是没有在服务器上设置 QoS 来限制客人网络的网速(后来在交换机上设定了)。

第二是「可能被污染的域名列表」和「大陆 IP 地址集」无法实现自动更新。

不过现在就先这么用着吧,哈哈。

Centos7搭建DNS服务器  ,位WEB服务器提供域名解析

1.关闭防火墙

 systemctl stop firewalld

2.配置IP地址 启动网络服务

   vim /etc/sysconfig/network-scripts/ifcfg-ens33

    systemctl start network

    ifconfig

3.挂载系统镜像

   mount /dev/cdrom /mnt/

4.编辑yum环境

   rm -rf /etc/yum.repos.d/*

   vim /etc/yum.repos.d/yum.repo

5.使用yum安装bind软件包

   yum -y install bind

 5.1 查看是否将bind软件包安装成功

   rpm -qa bind

5.2 编辑dns配置文件

   vim /etc/named.conf

   named-checkconf /etc/named.conf

   vim /var/named/huizhong.com.zone

   named-checkzone huizhong.com /var/named/huizhong.com.zone

   vim /var/named/huizhong.com.zone

   named-checkzone huizhong.com /var/named/huizhong.com.zone

6.启动dns服务

   systemctl start named

6.1查看dns运行状态

   systemctl status named

6.3 查看dns网络连接情况

   netstat -anpt | grep named

   netstat -anpu | grep named

#每日三件事,第990天#

      《中华人民共和国网络安全法》第二十一条第一款第三项规定网络运营者应采取监测、记录网络运行状态、网络安全事件的技术措施,并按照规定留存相关的网络日志不少于六个月。在GB/T22239《网络安全等级保护基本要求》的安全计算环境中,对安全审计也有明确的要求。

      在落实法律义务和责任,开展网络安全等级保护工作的过程中,日志服务器成了必不可少的一项。商用的日志审计系统固然好,但利用CentOS7也可以做一个简单的日志服务器,收集网络中其他设备的日志信息。

日志服务器端的配置:

yum install syslog,其实CentOS7默认就已经安装了rsyslog服务。系统会自动检测,并不会重新安装一遍syslog服务。

vim /etc/rsyslog.conf,找到#Providers TCP syslog reception这一行,把下面两行前面的#去掉即可:

#Providers TCP syslog reception

$ModLoad imtcp

$InputTCCPServerRun 514

======分割线 ======

在/etc/rsyslog.d/创建一个名为client_ip.conf的文件,每个日志发送客户端创建一个文件。我的实验环境中有一个ip为192.168.1.1的客户端,因此创建一个192.168.1.1.conf的文件。

vim /etc/rsyslog.d/192.168.1.1.conf

:fromhost-ip,isequal, "192.168.1.1" /var/log/client/192.168.1.1.log

systemctl restart rsyslog

重启之后一定要检查一下,使用命令:systemctl status rsyslog,并且保证rsyslog服务能够在开机时自动启动。

客户端的配置如下:

vim  /etc/rsyslog.conf,去掉#Providers TCP syslog reception下面两行的注释:

#Providers TCP syslog reception

$ModLoad imtcp

$InputTCCPServerRun 514

在最后一行添加:

*.*. @@192.168.1.10:514

其中192.168.1.10是日志服务器的IP地址。

systemctl restart rsyslog,并查看rsyslog的状态,保证服务在开机时自动启动。

此时在日志服务器上就可以接收到客户端发来的日志信息了。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/172122.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-26
下一篇2023-03-26

发表评论

登录后才能评论

评论列表(0条)

    保存