如何使用 netplan 将 LAN 端口与 WAN 端口链接?

如何使用 netplan 将 LAN 端口与 WAN 端口链接?

这是一个项目的一部分,用于设置我的 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 配置我的网络接口。然后,我做了以下步骤:

  1. 启用IP转发:

sudo vi /etc/sysctl.conf

uncomment net.ipv4.ip_forward=1

保存文件并执行以下命令

sudo sysctl -p

sysctl net.ipv4.ip_forward- 检查该值是否生效

  1. 配置防火墙规则:执行这些命令

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

  1. 安装 iptables-persistent (需要这样,以便上述规则在启动之间保持不变)

sudo apt install iptables-persistent

sudo bash -c "iptables-save > /etc/iptables/rules.v4"

相关内容