Перенаправление внешних портов на локальный ip

Перенаправление внешних портов на локальный ip

У меня есть сервер ubuntu 13.10 и зарегистрированное доменное имя. У меня есть веб-сервер на моей машине 192.168.24.1 и ftp-сервер на моей машине 192.168.24.2.

Используя iptables я хочу:

1) люди, которые пишут:http://mydomainname.comперенаправляться на 192.168.24.1

2) люди, которые хотят использовать мой ftp (filezilla или что-то вроде того, вводя mydomainname), будут перенаправлены на 192.168.24.2

Заранее спасибо за ваши ответы!

решение1

Я не могу дать точный ответ, так как не знаю вашу топологию.

Дело 1.

__________________
|                |
|   PC           |-------|
|  192.168.24.1  |       |     _____________
------------------       |_____|           |  __________
                         |     | ip_tables |  |        |
                         |     | PC        |--| router |--- internet
__________________       |     |           |  |        |
|                |       |     -------------  ----------
|   PC           |-------|
| 192.168.24.2   |
------------------

В этой топологии вам понадобится iptables

Случай 2.

__________________
|                |
|   PC           |-------|
|  192.168.24.1  |       |
------------------       |  __________
                         |  |        |
                         |--| router |
__________________       |  |        |
|                |       |  ----------
|   PC           |-------|
| 192.168.24.2   |
------------------

Вам не нужен iptables. Вам нужно сделать переадресацию портов на маршрутизаторе.

  • порт 80 для http -> 24.1
  • порт 443 для https -> 24.1
  • порт 20 — это передача данных FTP -> 24.2
  • порт 21 FTP-управление -> 24.2

Также вы должны иметь исправленный публичный IP-адрес на wan-интерфейсе вашего маршрутизатора. Затем вы должны сделать запись DNS. DNS resolv логическое имя, также известное как mydomainname.com, в IP-адрес и IP-адрес в логические имена.

Диапазон 192.168.xx — это частный диапазон IP-адресов. Я не могу подключиться к маршрутизатору через Интернет.

Поток трафика:

  • Я ввожу mydomainname.com в браузере на моем ПК
  • ПК просит DNS разрешить mydomainname.com в IP
  • Когда у ПК есть IP, отправьте http/https-запрос на указанный IP
  • веб-сервер отвечает и отправляет трафик запрашивающей стороне

План IP-адресов:

PC [private ip}-> router with private address on LAN and public ip on WAN. Router do NAT->internet [only public ip address

Редактировать 2

Следующее будет работать, если ваш сервер делает NAT для 24.2 через 24.1

Первое, что нужно сделать, это включить IP-пересылку. Это делается либо с помощью

 echo "1" > /proc/sys/net/ipv4/ip_forward

или

sysctl net.ipv4.ip_forward=1

Затем мы добавим правило, указывающее перенаправлять трафик на порт 21 на IP 192.168.24.2 на порт 21.

iptables -t nat -A PREROUTING -p tcp --dport 21 -j DNAT --to-destination 192.168.24.2:21

Затем мы добавим правило, указывающее перенаправлять трафик на порт 20 на IP 192.168.24.2 на порт 20.

iptables -t nat -A PREROUTING -p tcp --dport 20 -j DNAT --to-destination 192.168.24.2:20

и наконец, мы просим IPtables маскироваться

iptables -t nat -A POSTROUTING -j MASQUERADE

Связанный контент