环境说明

操作系统:ubutun24.04
网卡数量:双网卡
需求说明:主网卡负责上网,副网卡SSH连接

情景模式

我这个服务器,有两个网卡,主网卡是家庭带宽(大内网),用来日常下载使用,第二个网卡是固定IP,IDC带宽10M

网卡配置:

network:                     # 网络配置的根节点
  version: 2                 # Netplan配置的版本号
  renderer: networkd         # 指定使用systemd-networkd作为网络管理服务
  ethernets:                 # 以太网接口的配置
    eno1:                    # 第一个以太网接口,名称为eno1
      dhcp4: no              # 不使用DHCP进行IPv4地址的自动分配
      addresses:             # 手动指定IPv4地址
        - 192.168.1.2/24     # 为eno1接口分配的IP地址和子网掩码
      routes:                # 静态路由配置
        - to: default        # 默认路由(相当于to: 0.0.0.0/0)
          via: 192.168.1.1   # 默认网关,流量通过此网关转发到外部网络
      nameservers:           # DNS服务器配置
        addresses:           # DNS服务器的地址列表
          - 114.114.114.114  # 第一个DNS服务器地址
          - 223.5.5.5        # 第二个DNS服务器地址

    eno2:                    # 第二个以太网接口,名称为eno2
      dhcp4: no              # 不使用DHCP进行IPv4地址的自动分配
      addresses:             # 手动指定IPv4地址
        - 122.228.228.59/28  # 为eno2接口分配的IP地址和子网掩码
      routing-policy:        # 路由策略配置
        - from: 122.228.228.59/32  # 从指定的源地址发出的流量应用该路由策略
          table: 2           # 路由表2,用于多路径路由选择
      routes:                # 静态路由配置
        - to: 0.0.0.0/0      # 目标地址(默认路由)
          via: 122.228.228.50 # 指定网关,流量通过此网关转发到外部网络
          table: 2           # 使用路由表2

防火墙设置

iptables -t nat -R POSTROUTING 1  -o eno1 -j MASQUERADE

规则说明

iptables -t nat:指定这是对 NAT 表的操作。NAT(网络地址转换)用于在 IP 数据包的头部信息中修改网络地址信息。
-R POSTROUTING 1:表示替换 POSTROUTING 链中的第一个规则。POSTROUTING 链用于在数据包即将离开网络接口时修改它们。
-o eno1:指定规则应用于从 eno1 网络接口发出的数据包。
-j MASQUERADE:指示 iptables 使用 MASQUERADE 目标。MASQUERADE 会动态地伪装源 IP 地址,通常用于连接到动态 IP 的外部网络,比如互联网。
综上所述,这条命令将 NAT 表中的 POSTROUTING 链的第一个规则替换为:对从 eno1 接口发出的数据包进行源地址伪装(MASQUERADE)。这样做的目的是使这些数据包在到达目标时显示为来自 eno1 接口的 IP 地址。

最后保存规则

最后需要保存规则,防止重启失效

sudo apt-get install iptables-persistent

在安装过程中,它会提示你保存当前的 iptables 规则,选择 “Yes”。如果没有提示,可以手动运行

sudo netfilter-persistent save

确保服务在启动时加载规则

sudo systemctl enable netfilter-persistent
最后修改:2024 年 08 月 07 日
赞赏必须赞赏,多多益善,老板一直发大财!