Автор Тема: [Решено] Проброс портов для пакетов, исходящих с самой машины (Vyatta)  (Прочитано 2898 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн arfa

  • Новичок форума
  • Topic Author
  • Сообщений: 3
В качестве шлюза в сеть интернет используется компьютер с Vyatta Core 6.5R1 (сетевая операционная система на основе Debian с настройкой собственными командами через CLI - как в аппаратных роутерах - при этом выполняются perl-скрипты, которые выполняют необходимые настройки в Debian).

В локальной сети имеется web-сервер, на который на шлюзе проброшен порт TCP/80. И из интернета, и из локальной сети все замечательно работает - доступ к внешнему IP на порт 80 имеется (попадаем на web-cервер). Однако, на самом компьютере-шлюзе доступа через внешний IP на порт 80 нет, при проверке телнетом пишет:

# telnet внешний_IP-адрес 80
telnet: can't connect to remote host (внешний_IP-адрес): Connection refused

По этой причине из локальной сети невозможно подключиться к этому web-серверу через прокси-сервер, который крутится на том же компьютере-шлюзе.
По какой причине не работает проброс порта для пакетов, исходящих с самого компьютера-шлюза?

Настройки шлюза следующие:
interfaces {
    ethernet eth0 {
        address 192.168.1.1/24
        description LAN
    }
    ethernet eth1 {
        address EXTERNAL_ADDRESS/24
        description Internet
    }
}
nat {
    destination {
        rule 10 {
            destination {
                address EXTERNAL_ADDRESS
                port 80
            }
            inbound-interface any
            protocol tcp
            translation {
                address 192.168.1.2
            }
        }
    }
    source {
        rule 10 {
            outbound-interface eth1
            translation {
                address masquerade
            }
        }
        rule 20 {
            outbound-interface eth0
            source {
                address 192.168.179.0/24
            }
            translation {
                address masquerade
            }
        }
    }
}
service {
    dns {
        forwarding {
            listen-on eth0
        }
    }
    webproxy {
        default-port 8080
        listen-address 192.168.1.1 {
            disable-transparent
        }
    }
}
system {
    gateway-address PROVIDER_GATEWAY_ADDRESS
    name-server 8.8.8.8
    host-name router
    time-zone Europe/Moscow
}
« Последнее редактирование: 15 Май 2013, 16:50:11 от arfa »
 


Оффлайн fry

  • Местный житель
  • ***
  • Сообщений: 198
  • Jabber: fry73@jabber.de
Думаю, это то, что вам нужно. Если есть доступ не только к cli, а и к bash (sh) http://www.opennet.ru/docs/RUS/iptables/#DNATTARGET
Товарищи призывники! Надо понимать всю глубину наших глубин!

Руководство по добавлению изображений на форум
 

Оффлайн arfa

  • Новичок форума
  • Topic Author
  • Сообщений: 3
Да, это то, что нужно, спасибо!
Нужно прописать правило трансляции адреса назначения в цепочку OUTPUT:

#sudo iptables -t nat -A OUTPUT -d EXTERNAL_ADDRESS/32 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.2

После этого проброс порта TCP/80 заработал и изнутри машины!

Не знает ли кто - как командами Vyatta это же сделать?
В Vyatta "nat destination" прописывает правило в цепочку PREROUTING, "nat source" - в POSTROUTING, а как в OUTPUT - не нашел.

А то после перезагрузки правило пропадает.

P. S. Проблему решил!
Судя по документации Vyatta в нем не реализована "nat OUTPUT" - в цепочке после "Local Process" идет "Routing" и потом сразу заходит на "SNAT". Значит прописывать правила в цепочке OUTPUT нужно вручную. В Vyatta имеется скрипт (/opt/vyatta/etc/config/scripts/vyatta-postconfig-bootup.script), который вызывается при загрузке сразу после применения настроек из собственного конфигурационного файла. Все действия, не реализуемые средствами Vyatta, нужно прописывать в этом скрипте.
Я прописал в нем:
/sbin/iptables -t nat -A OUTPUT -d EXTERNAL_ADDRESS/32 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.2
Теперь и после перезагрузки все работает как надо.
« Последнее редактирование: 15 Май 2013, 16:51:38 от arfa »
 

Теги:
 

[Решено]Подключение к интернет через консоль

Автор aspuio

Ответов: 2
Просмотров: 1653
Последний ответ 12 Июль 2013, 22:34:11
от aspuio
Управление соединением. [РЕШЕНО]

Автор s7x8dn

Ответов: 5
Просмотров: 1030
Последний ответ 20 Май 2015, 14:26:52
от Leo
[решено] После full-upgrade не устанавливается ADSL соединение

Автор Лесьяр

Ответов: 2
Просмотров: 1753
Последний ответ 20 Июнь 2012, 08:06:35
от Лесьяр
[РЕШЕНО] Настройка Wifi в Дебиан

Автор LD

Ответов: 8
Просмотров: 3782
Последний ответ 31 Май 2017, 19:52:38
от ogost
[Решено]"Поддержка сети отключена", если закрыть крышку ноутбука

Автор D101101

Ответов: 5
Просмотров: 2290
Последний ответ 19 Апрель 2014, 12:17:41
от D101101