
У меня есть сервер 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