Я пытаюсь настроить систему, чтобы сделать 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 будет делать намного больше, чем, что может CLI Iptables... Некоторый интерфейс C к libnetfilter_queue библиотеке ожидается, поскольку мы должны сделать некоторый пользовательский контроль и вход.
У меня нет статического Общедоступного IP-адреса. Так, я должен зависеть от NAT, созданного в DSL. Эффективно я закончу с двумя NATs последовательно. Один SNAT через IPTables с источником, измененным на 192.168.2.2. Вторым является тот, который модем DSL сделает для изменения исходного IP от 192.168.2.2 до того, что общедоступный интернет-IP, присвоенный в то время.
Я думаю, что должен быть лучший подход.Что это? Или я полностью offtrack?
Вы не должны зависеть от NAT в модеме DSL, можно все еще сделать это на поле маршрутизатора Ubuntu, даже с динамическим общедоступным IP-адресом.
Вы не хотели бы делать это, если Вы не уверены в безопасности Вашего набора правила iptables.
Иногда модем/маршрутизаторы DSL не имеет никакой опции выключить маршрутизатор (NAT) материал, в этом случае что Вы делаете, прекрасен.
И да, с политиками по умолчанию ПРИНИМАЮТ, и передача включенного,
$ cat /proc/sys/net/ipv4/ip_forward
1
это столь же просто как одно правило POSTROUTING (скопированный с Вашего комментария):
iptables -t nat -A POSTROUTING -o em2 -j SNAT --to 192.168.2.2