dneichev
@dneichev
NOC Engineer in CamoIT

Как подменить ip адрес при подключении по ssh при помощи iptables?

Задача заключается в следующем:
есть сервер, на котором поднято несколько интерфейсов
есть сервер куда надо постучаться - a.b.c.d
есть адрес, с которого надо стучаться 172.16.80.1
Необходимо подключиться по ssh к серверу a.b.c.d через интерфейс tun0 по адресу 172.16.80.1, т.е.
ssh root@172.16.80.1 меняется ip на a.b.c.d и выходит с интерфейса tun0.
Пробовал уже кучу вариантов реализации при помощи iptables, дошел до того, что по 172.16.80.1. уходит куда надо, но не с того интерфейса. Использовал правило
iptables -t nat -A OUTPUT -d 172.16.80.1 -j DNAT --to-destination a.b.c.d
  • Вопрос задан
  • 1370 просмотров
Решения вопроса 1
dneichev
@dneichev Автор вопроса
NOC Engineer in CamoIT
Решение пришло. К правилу, которое я описал выше, необходимо было просто добавить маршрут в ip ro, т.е.
iptables -t nat -A OUTPUT -d 172.16.80.1 -j DNAT --to-destination a.b.c.d
ip ro add 172.16.80.1 via [tun_ip]
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
ky0
@ky0
Миллиардер, филантроп, патологический лгун
У ssh есть ключ -b:

-b bind_address
Use bind_address on the local machine as the source address of
the connection. Only useful on systems with more than one
address.


Разумеется, это не отменяет необходимости правильным образом настроить маршрутизацию на сервере.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы