NAT Внешний IP-адрес на локальном сервере с использованием iptables

У меня есть соединение adsl со статическим IP (скажем, 1.1.1.1). Мой дебианский брандмауэр соединяет Интернет с ppp и IP напрямую привязан к брандмауэру; ppp0 Link encap:Point-to-Point Protocol inet addr:1.1.1.1 PtP:<IP-DOES-NOT-MATTER> Mask:255.255.255.255

Я использую debian в качестве брандмауэра / маршрутизатора, а NAT – своих локальных клиентов в Интернете, используя базовый скрипт iptables; iptables --table nat --append POSTROUTING --out-interface ppp0 -j MASQUERADE iptables --append FORWARD --in-interface eth1 -j ACCEPT echo 1 > /proc/sys/net/ipv4/ip_forward

Я создал субдоменную запись для моего внешнего размещенного домена: sub.example.com IN A 1.1.1.1

Я могу подключить DNAT http из Интернета к моему локальному серверу с помощью iptables: iptables --table nat --append PREROUTING -i ppp0 --dest 1.1.1.1 -p tcp --dport 80 -j DNAT --to 192.168.1.101:80

Я также хочу, чтобы мои местные клиенты достигли sub.example.com без какой-либо дополнительной настройки.

Команды iptables, которые я пытался использовать в брандмауэре (это не сработало): iptables --table nat --append PREROUTING --in-interface eth1 --dest 1.1.1.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.101:80 и iptables -t nat --append OUTPUT --dest 1.1.1.1 -p tcp --dport 80 -j DNAT --to-dest 192.168.1.101

Первая команда маршрутизировала пакеты на сервер, но я не получил ответа (1.1.1.1 не настроен на сервере). Второй ничего не сделал.

Есть ли способ сделать это с помощью iptables?

One Solution collect form web for “NAT Внешний IP-адрес на локальном сервере с использованием iptables”

После ответа @ wurtel я использовал DNAT и SNAT вместе, и это сработало. Спасибо за это 🙂

Команды: iptables --table nat --append PREROUTING --in-interface eth1 --dest 1.1.1.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.101:80 iptables --table nat --append POSTROUTING --out-interface eth1 -source 192.168.1.0/24 --dest 192.168.1.101 -p tcp --dport 80 -j SNAT --to-source 192.168.1.1

  • SSH изнутри NAT через общедоступный IP-интерфейс
  • iptables: перенаправление локального запроса с NAT
  • Ошибка PING через enc0: требуется Frag и DF (mtu = 0)
  • qemu guest обходит межсетевой экран хоста
  • NAT-маршрутизация VPN-подключения к локальной сети
  • iptables: «сценарий» или «фильтр, правила, COMMIT»?
  • использование IPsec за NAT в freebsd 7.3
  • Настройка IPtables для работы в качестве маршрутизатора на границе VPN
  • «Ssh -L <port>» работает только с локальной машины
  • Доступ 2 виртуальных машин с одним IPv4
  • Перенаправление на услуги в NAT или Bridged Network только с одним поддоменом
  • Linux и Unix - лучшая ОС в мире.