Ubuntu小主机加个USB网卡组双网卡,兼职软路由
说到软路由,网上的教程大都是Openwrt方案。Openwrt系统精简,系统本身不怎么吃硬件,是智能路由、软路由常见解决方案。但我的小主机N4100+8G,装Openwrt做软路由,性能有点过剩。部署ESXI安装多系统性能又不足。于是干脆装Ubuntu Desktop系统兼职做软路由。用到的软硬件有一下:
Ubuntu可以直接部署软路由设置,也可以通过docker或者虚拟机安装Openwrt。这里介绍的是直接部署。首先查看一下网卡信息:
sudo apt install net-tools
ifconfig
小主机自带的网卡enp1s0作为外网网卡,USB网卡enxf8e43b9cc9b3作为内网网卡。
1.拨号上网
由于安装的是Ubuntu Desktop,外网网卡上网在图形界面直接用NetworkManager拨号即可:
命令行模式可以用如下命令配置:
nmcli connection edit type pppoe
set pppoe.username XXXXX
set pppoe.password XXXXXX
save
yes
quit
2.配置IP
图形界面可以像Windows系统一样直接给网卡配置固定IP:
命令行可编辑/etc/netplan下的yaml文件进行修改:
network:
version: 2
renderer: NetworkManager
ethernets:
enxf8e43b9cc9b3:
addresses: ['192.168.100.1/24']
#使配置的ip地址生效
sudo netplan apply
3.安装DHCP服务
安装isc-dhcp-server作为内网网卡的DHCP服务
#安装isc-dhcp-server
sudo apt install isc-dhcp-server
#配置isc-dhcp-server
sudo vim /etc/default/isc-dhcp-server
#IPV4改成内网网卡,IPV6留空
INTERFACESv4="enxf8e43b9cc9b3"
INTERFACESv6=""
然后修改 /etc/dhcp/dhcpd.conf配置文件
subnet 192.168.100.0 netmask 255.255.255.224 {
range 192.168.100.1 192.168.100.100;
option domain-name-servers 114.114.114.114,8.8.8.8;
# option domain-name "internal.example.org";
option subnet-mask 255.255.255.0;
option routers 192.168.100.1;
option broadcast-address 192.168.100.255;
default-lease-time 6000;
max-lease-time 72000;
}
#重新启动服务
sudo service isc-dhcp-server restart
4.开启内核路由转发
sudo vim /etc/sysctl.conf
net.ipv4.ip_forward=1
sudo sysctl -p
5.设置iptables规则
#切换su
sudo -i
#写入iptales
iptables -A FORWARD -i enxf8e43b9cc9b3 -o enp1s0 -j ACCEPT
iptables -A FORWARD -i enp1s0 -o enxf8e43b9cc9b3 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o enp1s0 -j MASQUERADE
也可以把上面的规则写入/etc/iptables/rules.v4,或者用iptables-persistent
sudo apt install iptables-persistent
iptables-save > /etc/iptables/rules.v4
6.修改MAC地址
这一步并不是必须的,但是有的时候上网账户绑定了mac地址,所以可能还需要修改外网网卡的mac地址(比如我我是在出租屋,网络一般和mac地址绑定),注意图形界面可以直接设置 :
#停用网卡eth0
ifconfig eth0 down
#编辑对应网卡配置文件
cd /etc/sysconfig/network-scripts
sudo vim ifcfg-eth0
DEVICE="eth0"
BOOTPROTO=static
HWADDR="00:0C:29:F3:8B:8A"
IPADDR=172.25.75.4
NETMASK=255.255.255.0
NETWORK=172.25.75.0
NM_CONTROLLED="yes"
ONBOOT="yes"
GATEWAY=172.25.75.254
#启用网卡
ifconfig eth0 up
#重启网络服务
sudo service network restart
最后用将USB网卡连接交换机,注意需要用到交换机最好是千兆交换机,我用另外一台windows主机做测试,可以设置DHPC自动获取,也可以指定网关和IP地址。
最后ping一下什么值得买,OK正常访问,工作基本完成。
当然这里完成的是基本的路由功能,至于更高级的联网控制等等等等,后续有时间再进行补充。其实软路由最难的应该是iptables设置,我这里用到的只是最基本的转发规则。这下可以愉快地买单网口小主机了。 其实我一直只买得起二手设备……
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~