–2025.6.23二更– 因为隔壁宿舍的个人需要,他们也打算搞一个软路由来实现多用,所以帮了帮忙,在此期间又遇到了好些问题,遂补充一下笔记
知识点
路由转发、DHCP、iptables、校园网
–2025.6.23二更– 因为隔壁宿舍的个人需要,他们也打算搞一个软路由来实现多用,所以帮了帮忙,在此期间又遇到了好些问题,遂补充一下笔记
- 还要备好若干网线,一条vga线或者hdmi线(有些工控机的显示口是vga的,你得接上屏幕了才能操作,不然你看啥)
知识点
路由转发、DHCP、iptables、校园网
- 工控机刷一个linux环境(切记切记最好让店家帮你刷好一个干净的系统,否则你自己还得多一个装系统的步骤),这边用到的是Ubuntu22.04
知识点
路由转发、DHCP、iptables、校园网
可以先给工控机通上网络,以便后续的一些软件包的下载: 将前文下载的linux版本的锐捷客户端在工控机中运行,认证成功后方可通网
- 还要备好若干网线,一条vga线或者hdmi线(有些工控机的显示口是vga的,你得接上屏幕了才能操作,不然你看啥)
知识点:路由转发、DHCP、iptables、校园网
- 工控机刷一个linux环境(切记切记最好让店家帮你刷好一个干净的系统,否则你自己还得多一个装系统的步骤),这边用到的是Ubuntu22.04 补充: 这边建议给自己的工控机系统装上ssh,然后网络认证成功后,用自己的主机通过ssh连接上工控机后再进行后续的操作,不然敲指令还挺累的
搭建过程:
① 硬件购置
- 先去闲鱼上购买一个二手的工控机(这里使用的是J1900软路由工控机),要求搭配双网口(千兆最好),内存和硬盘无要求(有个人需求可以让店家帮你升级配置,一般应该可以diy的)
- 然后再购置一个路由器或者交换机,用于后续的多设备联网(或者搭wifi) 可以先给工控机通上网络,以便后续的一些软件包的下载: 将前文下载的linux版本的锐捷客户端在工控机中运行,认证成功后方可通网
- 还要备好若干网线,一条vga线(工控机的显示口是vga的,你得接上屏幕了才能操作,不然你看啥)
② 环境准备
工控机刷一个linux环境(可以让店家帮你刷好),这边用到的是Ubuntu22.04 补充: 这边建议给自己的工控机系统装上ssh,然后网络认证成功后,用自己的主机通过ssh连接上工控机后再进行后续的操作,不然敲指令还挺累的
去学校网站下一个linux版本的校园网认证系统(没有linux版本的话可能就寄了),这边用到的是锐捷的linux版本,然后拉到工控机里(用u盘cp或者直接在工控机里拉取都行,直接拉取的前提是有网) 可以先给工控机通上网络,以便后续的一些软件包的下载: 将前文下载的linux版本的锐捷客户端在工控机中运行,认证成功后方可通网
③ 搭建
1可以先给工控机通上网络,以便后续的一些软件包的下载:
2将前文下载的linux版本的锐捷客户端在工控机中运行,认证成功后方可通网
3可以先给工控机通上网络,以便后续的一些软件包的下载:
4将前文下载的linux版本的锐捷客户端在工控机中运行,认证成功后方可通网
5可以先给工控机通上网络,以便后续的一些软件包的下载:
6将前文下载的linux版本的锐捷客户端在工控机中运行,认证成功后方可通网
7可以先给工控机通上网络,以便后续的一些软件包的下载:
8将前文下载的linux版本的锐捷客户端在工控机中运行,认证成功后方可通网
9
10
11```bash
12+ 建议先修改一下系统的apt源,方便后续的工具下载,推荐aliyun源:
13
14```bash
15sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
16sudo vim /etc/apt/sources.list
17```bash
18#写入以下内容
19deb https://mirrors.aliyun.com/ubuntu focal main restricted
20deb https://mirrors.aliyun.com/ubuntu focal-updates main restricted
21deb https://mirrors.aliyun.com/ubuntu focal universe
22deb https://mirrors.aliyun.com/ubuntu focal-updates universe
23deb https://mirrors.aliyun.com/ubuntu focal multiverse
24deb https://mirrors.aliyun.com/ubuntu focal-updates multiverse
25```bash
26deb https://mirrors.aliyun.com/ubuntu focal-security main restricted
27deb https://mirrors.aliyun.com/ubuntu focal-security universe
28```bash
29
30#保存后,执行下面指令
31+ 配置网卡地址,将lan口(eth1)设置为静态ip(这里必须要注意,你得确认好你工控机是哪个网卡是lan哪个网卡是wan,根据自己的情况去调整,wan口对应的网卡在运行锐捷认证成功后会被直接分配ip,所以没ip的那个就是lan口)
32```bash
33```bash
34# 修改/etc/netplan/中的yaml文件(每个人的可能会有不同)
35
36# 参考如下(要注意空格 缩进等)
37
38```sh
39sudo apt install net-tools
40
41#然后就可以查看网卡信息
42ifconfig -a
43```bash
44
45 addresses: #ip地址要跟wan口在不同网段,比如wan口的网段为192.168.200.xxx的话,lan口就得换成别的
46
47+ (非必要)修改网卡名为eth0,eth1(每个人的网卡名不同):
48+ 配置网卡地址,将lan口(eth1)设置为静态ip(这里必须要注意,你得确认好你工控机是哪个网卡是lan哪个网卡是wan,根据自己的情况去调整,wan口对应的网卡在运行锐捷认证成功后会被直接分配ip,所以没ip的那个就是lan口)
49```sh
50# 保存后执行
51# 修改/etc/netplan/中的yaml文件(每个人的可能会有不同)
52#找到GRUB_CMDLINE_LINUX=""改为
53# 执行后,通过ifconfig查看eth1网卡应该会显示有对应的ip地址,与上面设置的为同一个,如果没有,可能是配置文件中的一些细节没写好(缩进,空格等)
54# 如果是缩进没有问题的话,就看看是不是lan口没有接网线,拿网线跟你的机子或者路由器接上看看有没有分配到ip
55# 如果还是没有分配到ip,看看是不是有些服务器没有成功启动,比如说systemd-networkd这个服务
56
57#保存后执行
58sudo grub-mkconfig -o /boot/grub/grub.cfg
59
60```bash
61sudo vim /etc/netplan/00-installer-config.yaml
62```bash
63#将对应的网卡名改为eth0和eth1,后续把0做wan口,1做lan口
64 addresses: #ip地址要跟wan口在不同网段,比如wan口的网段为192.168.200.xxx的话,lan口就得换成别的
65#保存后,重启工控机
66sudo reboot now
67```bash
68
69# 保存后执行
70
71+ 配置网卡地址,将lan口(eth1)设置为静态ip
72# 执行后,通过ifconfig查看eth1网卡应该会显示有对应的ip地址,与上面设置的为同一个,如果没有,可能是配置文件中的一些细节没写好(缩进,空格等)
73# 如果是缩进没有问题的话,就看看是不是lan口没有接网线,拿网线跟你的机子或者路由器接上看看有没有分配到ip
74# 如果还是没有分配到ip,看看是不是有些服务器没有成功启动,比如说systemd-networkd这个服务
75```sh
76#修改/etc/netplan/中的yaml文件(每个人的可能会有不同)
77
78#参考如下(要注意空格 缩进等)
79# This is the network config written by 'subiquity'
80network:
81```bash
82 eth0:
83 dhcp4: yes
84 eth1:
85 dhcp4: no
86 optional: true
87 addresses: #ip地址要跟wan口在不同网段
88 - 192.168.99.1/24
89```bash
90 renderer: networkd
91
92#保存后执行
93sudo netplan apply
94
95#*执行后,通过ifconfig查看eth1网卡应该会显示有对应的ip地址,与上面设置的为同一个,如果没有,可能是配置文件中的一些细节没写好(缩进,空格等)
96```bash
97
98```bash
99
100```bash
101
102```sh
103#安装isc-dhcp-server
104sudo apt-get install isc-dhcp-server
105
106#修改配置文件/etc/default/isc-dhcp-server(如果需要用到ipv6,也可以将interfacesv6一并配置)
107INTERFACESv4=""
108 ↓↓↓↓↓
109INTERFACESv4="eth1"
110
111
112#修改/etc/dhcp/dhcpd.conf
113option domain-name-servers ns1.example.org, ns2.example.org;
114 ↓↓↓↓↓
115option domain-name-servers 8.8.8.8,114.114.114.114;
116
117#在末尾增加以下内容
118subnet 192.168.99.0 netmask 255.255.255.0 {
119```bash
120 option domain-name-servers 192.168.99.1;
121 option subnet-mask 255.255.255.0;
122 option broadcast-address 192.168.99.255;
123 option routers 192.168.99.1;
124}
125
126#如果想要永久开启ip转发,则需要修改以下内容:
127sudo vim /etc/sysctl.conf
128
129# 找到下面这行 去掉注释 改为1 然后保存
130net.ipv4.ip_forward = 1
131
132
133# 转发规则,根据你自己的wan口和lan口的网卡情况调整
134
135#修改/etc/dhcp/dhcpd6.conf(没有ipv6需要可不配置)
136#在末尾添加以下内容
137subnet6 2001:db8:0:1::/64 {
138 # Range for clients
139 range6 2001:db8:0:1::129 2001:db8:0:1::254;
140
141 # Range for clients requesting a temporary address
142 range6 2001:db8:0:1::/64 temporary;
143
144 # Additional options
145 option dhcp6.name-servers fec0:0:0:1::1;
146 option dhcp6.domain-search "domain.example";
147```bash
148 # Prefix range for delegation to sub-routers
149 prefix6 2001:db8:0:100:: 2001:db8:0:f00:: /56;
150
151 # Example for a fixed host address
152```bash
153
154#如果想要永久开启ip转发,则需要修改以下内容:
155sudo vim /etc/sysctl.conf
156
157# 找到下面这行 去掉注释 改为1 然后保存
158net.ipv4.ip_forward = 1
159
160
161# 转发规则,根据你自己的wan口和lan口的网卡情况调整
162 host-identifier option dhcp6.client-id 00:01:00:01:4a:1f:ba:e3:60:b9:1f:01:23:45;
163 fixed-address6 2001:db8:0:1::127;
164```bash
165}
166
167
168#重启dhcp server
169sudo systemctl restart isc-dhcp-server
170sudo systemctl status isc-dhcp-server
171```bash
172
173
174
175+ 开启linux内核的路由转发功能
176可能遇到的问题都暂时写在正文里了
177```sh
178#开启root用户
179su -
180```bash
181#把eth1网卡的数据包通过nat转发到eth0,根据自己的需要修改相应的网卡
182echo "1" > /proc/sys/net/ipv4/ip_forward
183iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
184iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
185iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
186
187#保存iptables规则
188```bash
189sudo iptables-save > /etc/iptables/rules.v4
190
191#安装iptables-persistent软件包,安装过程会询问是否将当前iptables规则保存到文件中,选择y,继续安装
192sudo apt-get install iptables-persistent
193
194#安装完成后,iptables-persistent就会自动加载保存的iptables规则文件,重启后也会自动加载
195```bash
196
197```bash
198
199+ 配置dns
200
201
202#停用系统自带的dns
203sudo systemctl disable systemd-resolved
204sudo systemctl stop systemd-resolved
205
206#删除符号链接的resolv.conf文件
207sudo rm /etc/resolv.conf
208echo "nameserver 8.8.8.8" > /etc/resolv.conf
209
210#安装dnsmasq
211sudo apt-get install dnsmasq
212sudo systemctl restart isc-dhcp-server
213
214#完成上述流程后,正常情况下客户机电脑可以通过eth1自动获取ip和dns- 通过lan口(eth1)连接客户机(自己的电脑),此时应该可以顺利接通网络
④可能会遇到的问题
在配置过程中,实际遇到的问题还是有点多的,但我忘记了,想到了回来补)
Comments will be available soon.