Ubuntu: поддельный IP-адрес

4804
Adam Matan

У меня есть программный пакет, который жестко запрограммирован, чтобы открыть соединение с определенным локальным IP-адресом. К сожалению, настройки локальной сети изменились, и я не могу получить доступ к исходному коду (длинная история).

Есть ли способ - как туннелирование SSH - перенаправить определенный IP-адрес на другой?

Например, мое программное обеспечение будет прозрачно связываться с реальным адресом на другом компьютере, 192.168.1.100который будет перенаправлен на 192.168.1.15реальный адрес.

Есть идеи?

2

4 ответа на вопрос

4
Adam Matan

Мой коллега познакомил меня с iptables :

iptables -t nat -A OUTPUT -d 192.168.1.100 -j DNAT --to-destination 192.168.1.15 
1
wfaulk

Добавьте статический маршрут для IP-адреса сервера к реальному IP-адресу сервера на клиенте. Добавьте IP-адрес сервера в качестве подынтерфейса на сервере.

server# ifconfig eth0:1 192.168.1.100  client# route add -host 192.168.1.100 gw 192.168.1.15 
0
wfaulk

Добавьте IP-адрес сервера в качестве подинтерфейса на сервере. Добавьте еще один IP-адрес в этой сети на клиентский компьютер в качестве подинтерфейса.

Это предполагает, что они в настоящее время находятся в одной сети.

server# ifconfig eth0:1 192.168.1.100  client# ifconfig eth0:1 192.168.1.101 
0
Johannes Weiss

Я думаю, что это путь

sudo ip addr add 192.168.1.100 dev eth0 

Это просто добавляет IP-адрес eth0

в какой машине? Adam Matan 15 лет назад 0
@ Udi, хороший вопрос: если бы можно было назначить целевой машине этот дополнительный IP-адрес (если не использовать в другом месте для начала), то я думаю, это было бы то же самое, что вернуться к старым настройкам локальной сети, что, я полагаю, не работает для тебя. Другими словами: я не думаю, что вы можете использовать это (если вам на самом деле не нужен 192.168.1.100 для ссылки на localhost, что вам не нужно). Arjan 15 лет назад 0