Home »

yandex cloud и nat

2 Записи
2 Пользователи
0 Likes
632 Просмотры
0
Создатель темы

Здравствуйте!

Помогите решить пожалуйста проблему начинающему.

Суть такова: на сервисе yandex.cloud есть два инстанса на Ubuntu:

1. first с сетевым интерфейсом eth0 и адресами на нём: 10.128.0.4 - внутренний адрес и 51.250.64.109 - внешний адрес. Как таковой адрес на интерфейсе не присвоен, first ходит в интернет через шлюз 10.128.0.1.

2. second с сетевым интерфейсом eth0 и внутренним адресом 10.128.0.28

Стоит задача сервер second выпустить в интернет.

Для решения данной задачи пробовал на first делать маскарад по средствам iptables:

sudo iptables -t nat -A POSTROUTING -s 10.128.0.28/32 -j MASQUERADE

ещё пробовал snat:

sudo iptables -t nat -A POSTROUTING -s 10.128.0.28/32 -o eth0 -j SNAT --to-source 10.128.0.4

Ни то и не другое к желаемому результату не приводит (((

 

На second устанавливал шлюз таким образом:

sudo ip route add default via 10.128.0.4

Форвардин в системе активен:

net.ipv4.ip_forward = 1

 

Перерыл весь интернет, ничего не могу понять, что я делаю не так (((

Везде в интернете показывается настройка nat на двух интерфейсах, а такой конфигурации нет.

Помогите пожалуйста!

maksim1980 Создатель темы 26.08.2023 14:23

Ещё так попробовал:

iptables -t nat -A POSTROUTING -s 10.128.0.28 -o eth0 -j SNAT --to-source 51.250.64.109 

iptables -A FORWARD -s 10.128.0.28 -i eth0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT 

iptables -A FORWARD -d 10.128.0.28 -m state --state RELATED,ESTABLISHED -j ACCEPT

Результат прежний ;(((

1 Ответ
0

Скорее всего вы что-то делаете не так, или забываете про какие-то настройки. В общем случае настроить шлюз с nat на базе iptables очень просто. В сети много примеров, как и у меня на сайте:

https://serveradmin.ru/nastroyka-internet-shlyuza-na-debian/

https://serveradmin.ru/nastroyka-shlyuza-dlya-lokalnoy-seti-na-centos-7/

В этих статьях есть вся исчерпывающая информация по вашей задаче. Если аккуратно повторите, всё получится.

Убедитесь отдельно, что параметр net.ipv4.ip_forward действительно применяется. Если всё равно не будет получаться, что проверьте настройки iptables, включите логирование всех правил и посмотрите, что нужные пакеты со второго сервера действительно пробегают по правилам iptables.

Используешь Telegram? Подпишись на канал автора →
This is default text for notification bar