Как мне получить доступ к своему IP-адресу WAN изнутри в соответствии с моими существующими правилами переадресации портов iptables? [дубликат]

У меня есть IPTABLES, недавно настроенные на моем сервере Debian Squeeze, и у меня есть IP-маскарадинг и переадресация портов работает с ним успешно, однако, если я ввожу в адресную строку свой IP-адрес WAN или имя хоста DynDNS, я получаю сообщение об ошибке подключения.С предыдущими потребительскими маршрутизаторами, если бы я перешел на http: // [myhostname] , он загрузил бы 10.0.0.3:80, как указано ниже. Это работает внешне (проверено с использованием телефона 3G), но не внутренне (с использованием любого внутреннего браузера). Это то же самое для всех перенаправленных портов. Я пытаюсь заставить перенаправление портов работать и внутри.

Если кто-нибудь знает правильные заклинания для этого, мы будем очень признательны. Я попытался выполнить поиск в Google, но не уверен, что правильно подхожу к поисковому запросу.

Моя конфигурация следующая:

# Generated by iptables-save v1.4.8 on Thu Apr 14 15:58:27 2011
*mangle
:PREROUTING ACCEPT [1216168:676166344]
:INPUT ACCEPT [2375:260404]
:FORWARD ACCEPT [1213765:675875465]
:OUTPUT ACCEPT [1930:203384]
:POSTROUTING ACCEPT [1215695:676078849]
-A FORWARD -o ppp0 -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:65495 -j TCPMSS --clamp-mss-to-pmtu 
COMMIT
# Completed on Thu Apr 14 15:58:27 2011
# Generated by iptables-save v1.4.8 on Thu Apr 14 15:58:27 2011
*filter
:INPUT ACCEPT [2375:260404]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [1930:203384]
-A FORWARD -i ppp0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A FORWARD -i eth0 -o ppp0 -j ACCEPT 
-A FORWARD -d 10.0.0.8/32 -p tcp -m tcp --dport 80 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT 
-A FORWARD -d 10.0.0.3/32 -p tcp -m tcp --dport 22 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT 
-A FORWARD -d 10.0.0.8/32 -p tcp -m tcp --dport 1723 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT 
-A FORWARD -d 10.0.0.8/32 -p udp -m udp --dport 1723 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT 
-A FORWARD -d 10.0.0.3/32 -p tcp -m tcp --dport 21 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT 
-A FORWARD -d 10.0.0.3/32 -p tcp -m tcp --dport 45631 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT 
-A FORWARD -d 10.0.0.3/32 -p tcp -m tcp --dport 56630 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT 
-A FORWARD -d 10.0.0.3/32 -p udp -m udp --dport 56630 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT 
COMMIT
# Completed on Thu Apr 14 15:58:27 2011
# Generated by iptables-save v1.4.8 on Thu Apr 14 15:58:27 2011
*nat
:PREROUTING ACCEPT [5529:468229]
:POSTROUTING ACCEPT [2335:258730]
:OUTPUT ACCEPT [21:1367]
-A PREROUTING -i ppp0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.0.0.8:80 
-A PREROUTING -i ppp0 -p tcp -m tcp --dport 22 -j DNAT --to-destination 10.0.0.3:22 
-A PREROUTING -i ppp0 -p tcp -m tcp --dport 1723 -j DNAT --to-destination 10.0.0.8:1723 
-A PREROUTING -i ppp0 -p udp -m udp --dport 1723 -j DNAT --to-destination 10.0.0.8:1723 
-A PREROUTING -i ppp0 -p tcp -m tcp --dport 21 -j DNAT --to-destination 10.0.0.3:21 
-A PREROUTING -i ppp0 -p tcp -m tcp --dport 45631 -j DNAT --to-destination 10.0.0.3:45631 
-A PREROUTING -i ppp0 -p tcp -m tcp --dport 56630 -j DNAT --to-destination 10.0.0.3:56630 
-A PREROUTING -i ppp0 -p udp -m udp --dport 56630 -j DNAT --to-destination 10.0.0.3:56630 
-A PREROUTING -i ppp0 -p tcp -m tcp --dport 443 -j DNAT --to-destination 10.0.0.3:22 
-A POSTROUTING -o ppp0 -j MASQUERADE 
COMMIT
# Completed on Thu Apr 14 15:58:27 2011
1
задан 14 April 2011 в 09:12
2 ответа

Я не уверен, что вижу точку этого. Обычно этот вид установки используется, если у Вас есть внутренний ресурс, который должен быть доступным внутренне и внешне. Ваш внешний доступ достигается перенаправлением портов, и Вы подтвердили, что это хорошо работает.

Для внутреннего доступа необходимо скорее использовать, разделяет DNS. Это - установка, посредством чего Ваш внутренний сервер DNS разрешает те же имена как Ваш общедоступный DNS, но к внутренним IP-адресам. Это может быть достигнуто или при помощи отдельных серверов DNS или при помощи одного сервера DNS с отдельными представлениями для внутреннего и внешнего доступа.

Это решило бы Вашу проблему?

3
ответ дан 3 December 2019 в 19:25

Это не будет работать. Причина имеет отношение, как пакет пересекает netfilter/xtables таблицы и когда маршрутизация происходит.

  1. Пакет вводит интерфейс
  2. Packet получил DNAT-редактора, которого, для пакетов, прибывающих из eth0, не происходит
  3. Пакет был направлен. В этом случае это направляется к интерфейсу ppp0
  4. Поскольку пакет предназначен к маршрутизатору, он обрабатывается ВХОДНОЙ цепочкой
  5. Пакетная ВХОДНАЯ цепочка передач, обрабатывается стеком TCP
  6. Локальный порт 80 не открыт; пакет отбрасывается

Как Вы видите, DNAT происходит слишком рано в цепочке событий.

0
ответ дан 3 December 2019 в 19:25

Теги

Похожие вопросы