3.8 KiB
基础网络配置
配置静态 IP 和默认路由
软路由需要配置一个静态 IP 和一个默认路由,Ubuntu 可以使用 netplan 来配置,配置文件路径是 /etc/netplan/config.yaml
,通过 netplan apply
执行生效。下面根据不同方案给出一些配置示例。
主路由方案配置
对于主路由方案,需要选一个网口用来连接光猫来拨号上网,再选一个网口配置内网静态 IP 并连接交换机,用于内网通信和路由转发,下面是我用过的配置:
解释一下:
- 我的路由器有 6 个网口,Ubuntu 默认使用
enp*s0
的命名方式自动给网口分配网卡名称。 - 第一个网口我用来拨号上网,上联是光猫(光猫设置桥接,不要光猫的路由功能)。设置用第一个网口来做 PPPoE 拨号的话,会自动修改默认路由走虚拟出来的
ppp0
网卡,这里配置的默认路由不重要。 - 第二个网口设置一个内网静态 IP,用于内网通信。内网网段我计划用
10.10.10.0/24
,软路由静态 IP 使用10.10.10.2
,如果要用 IPv6,也得分配个固定的内网 IPv6 地址,写到addresses
里。 - 使用静态 IP,禁用掉 dhcp 动态获取 IP 的能力,所以每个网口的
dhcp4
和dhcp6
均设为 false。
旁路由方案配置
对于旁路由方案,不需要拨号,主要选一个网口来配置内网静态 IP 就行,这个网口连上交换机,配置示例:
桥接
如果需要,其它剩余网口设置桥接,当做交换机用,方面接入更多设备。可以在 netplan 配置里加下 bridges
配置:
bridges:
br0:
dhcp4: no
interfaces:
- enp3s0
- enp4s0
- enp5s0
配置拨号上网
旁路由方案的拨号上网这里不做介绍,不同场景配置方法各不相同,比如主路由是华为、小米路由器设备,需登录路由器管理页面进行配置;如果是让光猫来拨号,需登录光猫进行配置;如果使用双软路由方案,比如在 EXSI 里虚拟出 RouterOS 作为主路由,那么就登陆 RouterOS 主路由页面进行配置拨号上网。
这里只给出主路由方案的 Ubuntu 系统配置 PPPoE 拨号的方法。
需要实现 Ubuntu 开机自动执行 PPPoE 拨号,可以用 networkd-dispatcher
来实现:
如果不生效,可以在 rc.local
开机脚本里做:
#!/bin/bash
echo "run pppoe"
pon dsl-provider
确保 rc-local 服务处于 enabled 状态:
systemctl enable rc-local
配置混杂模式
对于软路由,配置网卡为混杂模式很重要,因为作为路由器,需要监听所有流量,这样才能做路由转发。可以在 /etc/network/if-up.d/
目录下配置脚本,实现开机自动为所有网卡打开混杂模式:
#!/bin/bash
for i in {1..6}
do
/sbin/ip link set enp${i}s0 promisc on
done
/sbin/ip link set br_lan promisc on
配置防火墙
对于主路由方案,在 Ubuntu 里配置防火墙,可以用 nftables 来声明式配置:
确保 nftables 服务处于 enabled 状态:
systemctl enable nftables
配置内核参数
删除自带的一些内核参数配置,避免冲突:
rm /etc/sysctl.d/10-network-security.conf