Назад | Перейти на главную страницу

Пересылка пакетов из определенного домена (TLD) на определенный компьютер в сети с помощью iptables

Я могу перенаправить порт, используя следующие команды:

iptables -t nat -A PREROUTING -p tcp -d XXX.XXX.XXX.XXX --dport 80 -j DNAT --to 192.168.161.31:80

iptables -t nat -A POSTROUTING -d 192.168.161.31 -j MASQUERADE

Я хотел использовать возможность пересылки пакетов, направленных на доменное имя, а не на IP-адрес, например XXX.XXX.XXX.XXX.

Например, можно ли сделать что-то вроде следующего и заставить его работать? Моя не работает!

iptables -t nat -A PREROUTING -p tcp -d XXX.XXX.XXX.XXX --dport 80 -j DNAT --to 192.168.161.31:80
iptables -t nat -A PREROUTING -p tcp -d www.example.com --dport 80 -j DNAT --to 192.168.161.32:80

Обратите внимание, что предыдущие команды должны перенаправляться на разные машины.

Нет, это невозможно. Пакеты никогда не нацелены на доменные имена на уровне TCP / IP.

Вам нужно будет использовать какой-то балансировщик нагрузки (например, apache с ProxyPass), если вам нужно перенаправить запросы на другой хост / порт.

Нет, ты не можешь сделать что-то подобное. DNS-имена не разрешены в правилах netfilter. Они применяются только на уровнях TCP / IP и ICMP.