admin 管理员组文章数量: 887032
1. 网络拓扑图
- 双网卡单Lan口拓扑图
- 多网卡多Lan口带网桥拓扑图
2. 查看网卡信息
ip a
得出如下网卡信息列表,共四个网络信息,忽略第一个本地环回地址
一共存在三个网卡分别为enp1s0、enp2s0、wlo,以及其他详细信息,当前我们只需要关心网卡名称即可
注意,您的设备中网卡名称不一定和我的一样,请自行区分
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:f1:f5:2e:66:17 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.5/24 brd 192.168.1.255 scope global dynamic enp1s0
valid_lft 80851sec preferred_lft 80851sec
inet6 240e:36a:146b:df00:2f1:f5ff:fe2e:6617/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 258991sec preferred_lft 172591sec
inet6 fe80::2f1:f5ff:fe2e:6617/64 scope link
valid_lft forever preferred_lft forever
3: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br0 state UP group default qlen 1000
link/ether 00:f1:f5:2e:66:18 brd ff:ff:ff:ff:ff:ff
4: wlo1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br0 state UP group default qlen 1000
link/ether c8:09:a8:12:b8:e4 brd ff:ff:ff:ff:ff:ff
altname wlp0s20f3
5: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 00:f1:f5:2e:66:18 brd ff:ff:ff:ff:ff:ff
inet 192.168.2.1/24 brd 192.168.2.255 scope global br0
valid_lft forever preferred_lft forever
inet6 fe80::2045:e5ff:fe6a:440/64 scope link
valid_lft forever preferred_lft forever
3. netplan网卡设置
然后我们做以下自定义规定(读者可自行设计)
- enp1s0:有线网卡1,我们规定这个网口为Wan口,用于连接互联网
- enp2s0:有线网卡2,我们规定这个网口为Lan口,供内部网络的有线设备连接
- wlo1: 无线网卡1,我们规定这个网口为Lan口,供内部网络的无线设备连接
- 其他网卡:…
sudo vim /etc/netplan/00-installer-config.yaml
若仅规定了单个Lan口网卡,修改内容如下
network:
ethernets:
enp1s0:
dhcp4: true # 设置dhcp,用以从上级路由器获取ip地址
dhcp6: false # 暂不关心
optional: true # 设置非阻塞方式配置网络, 否则没有网络时开机会卡很久
enp2s0:
dhcp4: false
dhcp6: false
addresses: [192.168.2.1/24] # 设置静态ip,读者可自行确定网段和ip
optional: true
若规定了多个Lan口网卡,修改内容如下
创建一个网桥br0来连接多个Lan口网卡,便于后续DHCP统一管理ip地址
network:
ethernets:
enp1s0:
dhcp4: true # 设置dhcp,用以从上级路由器获取ip地址
dhcp6: false # 暂不关心
optional: true # 设置非阻塞方式配置网络, 否则没有网络时开机会卡很久
enp2s0:
dhcp4: false
dhcp6: false
optional: true
wlo1:
dhcp4: false
dhcp6: false
optional: true
bridges:
br0:
interfaces: [enp2s0, wlo1] # 将有线网口enp2s0和wlo1添加到网桥br0下
dhcp4: false
dhcp6: false
addresses: [192.168.2.1/24] # 设置静态ip,读者可自行确定网段和ip
optional: true
version: 2
应用网络修改
# 应用网络修改,ssh连接会断开,请重新根据新的ip地址
sudo netplan apply
4. DHCP服务设置
4.1 安装isc-dhcp-server
apt install isc-dhcp-server -y
4.2 配置isc-dhcp-server
4.2.1 修改DHCP服务的网口
sudo vim /etc/default/isc-dhcp-server
# 指定为某个网卡提供DHCP服务
INTERFACESv4="enp2s0"
# 若设置网桥,请填入网桥名称
# INTERFACESv4="br0"
INTERFACESv6=""
4.2.1 配置DHCP网段信息
sudo vim /etc/dhcp/dhcpd.conf
# 子网划分为192.168.2.0/24网段
subnet 192.168.2.0 netmask 255.255.255.0 {
# 设置DHCP服务提供的ip地址范围
range 192.168.2.10 192.168.2.200;
# 设置DHCP的默认网关,即已配置的Lan口ip/地址网桥ip
option routers 192.168.2.1;
# 该网段的广播地址
option broadcast-address 192.168.2.255;
# DNS服务器,使用光猫/上一级路由器提供的DNS服务,也可自定义例如8.8.8.8之类的DNS服务
option domain-name-servers 192.168.1.1;
# 默认租约时间
default-lease-time 600;
# 最大租约时间
max-lease-time 7200;
}
重启isc-dhcp-server服务
# 重启isc-dhcp-server服务
sudo service isc-dhcp-server restart
# 查看isc-dhcp-server状态, 注:若lan口没有接入设备,状态会显示未启用状态,请接入设备后测试
sudo service isc-dhcp-server status
5. 无线AP热点配置
首先请确认您的设备存在无线网卡,没有无线网卡请跳过该节
如果无线网卡无法识别,例如ax101型号,请升级更高版本的Linux内核,推荐下载离线包安装更新(6.4+)
解决方案参考帖子:AX101 Ubuntu 22.04 or 22.10 driver
内核升级参考资料:升级 Ubuntu Linux 内核的几种不同方法 | Linux 中国
5.1 安装hostapd
apt install hostapd -y
5.2 配置hostapd
# 默认不存在该文件
sudo vim /etc/hostapd/hostapd.conf
# 设置无线网卡名称
interface=wlo1
# 设置网桥,若无网桥设置请注释
bridge=br0
# 驱动,wext(旧版)/nl80211(新版),一般使用nl80211
driver=nl80211
# 无线网使用的网络协议,默认启用
ieee80211n=1
# 模式选择,g:2.4Ghz
hw_mode=g
# 信道,2.4GHZ(1~14)
channel=6
# 热点名称
ssid=ubuntu
# 热点密码
wpa_passphrase=123123123
# 选择加密方式为WPA2,常用加解密方法是有WEP、WPA、WPA2、WPA3
wpa=2
# 加密方式
wpa_key_mgmt=WPA-PSK
# 加密算法
rsn_pairwise=CCMP TKIP
wpa_pairwise=TKIP CCMP
参考资料:WLAN无线技术基本概念(802.11a/b/g/n/ac/ax区别,频段,信道概念)
加载hostapd配置文件
# -B 后台运行
sudo hostapd /etc/hostapd/hostapd.conf -B
其他
# hostapd服务的启动、暂停、重启、状态查询
sudo service hostapd start/stop/restart/status
# 启用开机服务(默认应该已启用)
sudo systemctl enable hostapd
# 无线网卡的启动和停止
sudo ip link set wlo1 up/down
6. 启用ip 转发功能
sudo vim /etc/sysctl.conf
# 末尾添加
net.ipv4.ip_forward=1
7. 启用NAT地址转换功能
# 设置防火墙规则,启用nat
sudo iptables -t nat -A POSTROUTING -0 enp1s0 MASQUERADE
# 重启保持该防火墙规则生效,安装iptables-persistent工具,会弹窗提醒是否保存当前规则(是)
sudo apt-get install iptables-persistent
这段命令是在iptables的nat表中添加了一条POSTROUTING规则,其作用是对enp1s0(wan口)的出站流量进行NAT处理。具体来说,这条规则会在lan口设备的出站流量经过enp1s0时,将源IP地址从lan口设备的IP地址(例如192.168.2.100)替换为enp1s0的IP地址(例如192.168.1.5),从而实现内部网络设备访问外部网络的功能。
这种NAT处理方式称为MASQUERADE,它可以动态地为内部网络设备分配外部IP地址,并保护内部网络的隐私。在这种情况下,lan口设备可以使用自己的DHCP服务器分配的IP地址(例如192.168.2.100)在内部网络中进行通信,而当它们需要访问外部网络时,就会经过enp1s0进行NAT处理,从而使得外部网络看到的源IP地址是enp1s0的IP地址。
本文标签: 路由器
版权声明:本文标题:Ubuntu20.04 设置路由器 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1728704768h1268348.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论