这是一个项目的一部分,用于设置我的 Linux 机器,并使用 2 个网卡作为路由器。下面提到的 yaml 配置文件中的“routes”键是我认为需要在 yaml 文件中设置的内容。我应该在“to”键上输入什么值?
以下是我通过 netplan 配置网络接口所采取的步骤。我没有路由键的条目,因为它们没有效果。
这是我的配置文件和命令中使用的值所代表的内容:
wan0 — 连接到互联网。具有动态IP地址。
lan0 - 我的本地网络的 dhcp 和 dns 服务器。有静态IP 192.168.1.1
/etc/netplan/00-installer-config.yaml - netplan 配置文件。
在 yaml 文件中输入值:
vi /etc/netplan/00-installer-config.yaml
ethernets:
wan0:
dhcp4: true
lan0:
dhcp4: no
ignore-carrier: true
addresses: [192.168.1.1/24]
routes:
- to: <what value should I enter here?>
via: 192.168.1.1
version: 2
这些是我的 yaml 配置文件中的实际条目(没有路由:键)
ethernets:
wan0:
dhcp4: true
lan0:
dhcp4: no
ignore-carrier: true
addresses: [192.168.1.1/24]
version: 2
执行了以下命令:
sudo netplan generate
sudo netplan apply
附加信息:最后我放弃了 netplan 并采取了以下步骤来使路由器正常工作:我确实执行了上面提到的步骤通过 netplan 配置我的网络接口。然后,我做了以下步骤:
- 启用IP转发:
sudo vi /etc/sysctl.conf
uncomment net.ipv4.ip_forward=1
保存文件并执行以下命令
sudo sysctl -p
sysctl net.ipv4.ip_forward
- 检查该值是否生效
- 配置防火墙规则:执行这些命令
sudo iptables -t nat -A POSTROUTING -o wan0 -j MASQUERADE
sudo iptables -A FORWARD -i wan0 -o lan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i lan0 -o wan0 -j ACCEPT
- 安装 iptables-persistent (需要这样,以便上述规则在启动之间保持不变)
sudo apt install iptables-persistent
sudo bash -c "iptables-save > /etc/iptables/rules.v4"