Я что-то пробую, это моя тестовая установка:
Настроить:
10.0.1.132
)Что я хочу сделать
Я хочу получить доступ к веб-серверу на узле B из Интернета, посетив узел A.
Как
Я настраиваю параметр переадресации IP в systctl.conf
на хосте A, а затем поместите ниже iptables
правило:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 10.0.1.132:80
Проблема:
Он не работает, и я не могу открыть веб-страницу, когда посещаю хост A на порту 80
Другая информация (относительно AWS VPC Security Group):
port 80
входящий доступ на host A
из 0.0.0.0/0
port 80
исходящий доступ на host A
к 10.0.1.0/24
port 80
доступ на host B
из host A
Вот информация о ядре:
# sysctl -p | grep forward
net.ipv4.ip_forward = 1
Кроме того, я могу подключиться по telnet к порту 80 от хоста A к хосту B на порту 80. Таким образом, это подтверждает, что моя группа безопасности AWS работает должным образом.
Я думаю, что ошибаюсь IPtables
часть. Может помочь мне понять, что не так в приведенной выше настройке.
Вы понимаете, что частный хост должен…
Я думаю, что ошибаюсь в части IPtables. Может помочь мне понять, что не так в приведенной выше настройке.
Верно, трафик будет проходить через Amazon Security Group, но затем будет заблокирован IPTables. Вам нужно правило пересылки, которое будет принимать трафик NAT:
iptables -A FORWARD -p tcp -m tcp -d 10.0.1.132:80 -j ACCEPT
Обратите внимание, что -A может быть неправильным, вам может потребоваться -I (вставить), а затем указать число после «FORWARD», которое представляет, где в вашей цепочке FORWARD вы хотите вставить правило. (т.е. перед любыми DROP) Вы можете указать свою цепочку FORWARD с помощью
iptables -L FORWARD -n --line-numbers