DIY 一个简单软路由
前言
想尝试软路由很久了,特别是张大妈经常推送软路由/nas之类的文章。一直很忙(懒),所以一直都没有尝试。这次由于疫情的原因。远程办公,孩子要上网课,以及看电影,打游戏,最多的时候有十几个终端连接。几万块钱的k2p,也扛不住了,百度网盘vip下载只有时高时低,有时不到10kb。
硬件选择
低功耗, 待机要低于8w。
x86平台, 选择多。
成本低。
解决网络出口的问题即可,无线连接还是使用k2p,毕竟价格是几万块钱。
折腾软路由,对于一个从业十几年的IT民工来说非常简单,唯一的难度就是穷。蹲守几个平台,适合软路由的主板都被炒的很高。等了几天之后,终于在咸鱼出手,网卡由于运费比较贵,所以一次性买了10个来平衡运费。
安装系统
软路由的系统,X86平台有routeros/openwrt/opnsense/ikuai/panabit等。大部分的系统的都是基于linux/freebsd类unix。由于职业的原因,平时接触都是linux,所以我选择原生的centos7,使用iptables来做nat转换。centos7镜像网上很多。windows使用软碟通写入硬盘镜像。U盘使用安装即可。
安装完成之后登录系统
关闭selinux
setenforce 0
sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
修改镜像和安装常用工具
yum -y install wget
cd /etc/yum.repos.d/
rm -fr /etc/yum.repos.d/*
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache
yum -y install wget vim psmisc net-tools
关闭firewalld
centos7 已经使用firewalld来控制netfilter框架,所以
systemctl stop firewalld
systemctl disable firewalld
调整网卡及配置ip
在 /etc/grub2.cfg 文件中修改
找到带有vmlinuz关键字且没有rescue关键字的行,在行尾加上
net.ifnames=0 biosdevname=0
2.删除/etc/sysconfig/network-scripts/ 目录下除ifcfg-lo 以外的 ifcfg 开头的文件
3.配置wan网卡,视自己的情况修改IPADDR/GATEWAY/NETMASK
添加 /etc/sysconfig/network-scripts/ifcfg-eth0 文件
4. 配置lan网卡,视自己的情况修改IPADDR/NETMASK
添加 /etc/sysconfig/network-scripts/ifcfg-eth1 文件
配置完成,reboot重启。
配置上网
开启内核转发
echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf
sysctl -p
安装iptables
iptables 是 netfilter 框架的调整控制工具,netfilter 有4表5链的概念,用来控制处理数据包,mangle 和 raw不常用。用iptables 来进行snat地址转换时,经过nat 表的POSTROUTING, 和 filter 表的FORWARD链,所以只要控制打开这2个链规则就可以了。
yum -y install iptables-services
iptables -F
iptables -t nat -F
iptable -A FORWARD -j ACCEPT
iptables -t nat -A POSTROUTING -j MASQUERAD
到这里连接lan网卡并且拥有一个192.168.3.x网段的ip就可以上网了。
安装dhcp
yum -y install dhcp
编译 /etc/dhcp/dhcpd.conf文件
添加dhcp作用的网卡,这里只给通过eth1网卡申请地址的分配地址
echo 'DHCPDARGS=eth1' >> /etc/sysconfig/dhcpd
systemctl restart dhcpd
systemctl enable dhcpd
安装DNS
yum -y install dnsmasq
编译/etc/dnsmasq.conf文件
systemctl restart dnamasq
systemctl enable dnamasq
到此一个基本的软路由就实现,虽然很简陋,但是很稳定。
无限ap的话,只要把k2p的dhcp关掉,然后软路由的lan口网线插在k2p的任意一个lan即可。
总结
相对于成本的软路由系统,自己diy系统步骤虽然繁琐,但是比较放心,因为系统上时不时爆出后门和安全问题。
Heartless2016
校验提示文案
Heartless2016
校验提示文案