如何使用动态分配的公共 IP 地址设置 Iptables SNAT

如何使用动态分配的公共 IP 地址设置 Iptables SNAT

我正在尝试设置一个系统来执行 NAT 和其他 iptables 操作(如日志记录、防火墙、监控等)。ISP 提供动态 IP 地址,DSL 调制解调器执行 NAT。

我有以下“小型企业”配置:

    192.168.1.1           |-----------|
    ----------------------|           |
                          |  SWITCH 1 |
    192.168.1.2           |           |
    ----------------------|           |
                          |           |
    192.168.1.3           |           |
    ----------------------|           |
                          |-----------|
                               |
                               | 192.168.1.4
                               |
                         |--------------|
                         | Dual NIC     |
                         | IPTABLES m/c | NAT
                         |--------------|
                               |
                               |
                               |192.168.2.2
                               |
                         |--------------| 192.168.2.1 |----------------|
                         |  SWITCH 2    | ------------|DSL Modem NAT   |
                         |--------------|             |----------------|

我的目标是控制 192.168.1.x LAN 上每个节点可以做什么、记录条目等。IPTABLES 机器可以做的事情比 Iptables CLI 能做的多得多...我们需要一些到 libnetfilter_queue 库的 C 接口,因为我们需要做一些自定义监控和日志记录。

我没有静态公共 IP 地址。因此,我需要依赖 DSL 内置的 NAT。实际上,我最终会有两个串联的 NAT。一个通过 IPTables 进行 SNAT,源更改为 192.168.2.2。第二个是 DSL 调制解调器将执行的操作,将源 IP 从 192.168.2.2 更改为当时分配的公共 Internet IP。

我认为一定有更好的方法。那是什么?还是我完全偏离了主题?

相关内容