LINUX.ORG.RU
ФорумAdmin

Нужна ссылка на документацию - как определяется для Исходящего запроса Исходящий IP адрес

 


0

3

subj!
Когда то давно видел немного сотносящееся с данным вопросом - видел в связке с «source-based routing». Но это было «давно и неправда». А сейчас снова понадобилось.
P.S. в основном конечно нужна дока на linux, но и по остальным системам не откажусь.

★★★★★

Последнее исправление: Atlant (всего исправлений: 2)

Кратко:
Шлюз с адресами 192.168.1.254 и EXT_IP.
На шлюзе авторитативный DNS сервер с зоной *.test.ru (пример)

Запрос с самого шлюза

	$ nslookup www.test.ru EXT_IP
	;; reply from unexpected source: 192.168.1.254#53, expected EXT_IP#53


Снифер
	# tcpdump -i lo -n
	01:11:50.174672 IP EXT_IP.45831 > EXT_IP.53: 56010+ A? www.test.ru. (34)
	01:11:50.174924 IP 192.168.1.254.53 > EXT_IP.45831: 56010*- 1/0/0 A EXT_IP (50)


Т.е. идет запрос - корректный (от EXT_IP на EXT_IP), а ответ - нет (нужен «от EXT_IP», а пришел «от 192.168.1.254»)

Судя по результату ниже, должен быть корректный исходящий адрес
# ip route get EXT_IP
local EXT_IP dev lo table local src EXT_IP uid 0 
    cache <local> 


На loopback NAT(harpinNAT) - не похоже. Третьей стороны нету. Даже второй стороны нету.

Atlant ★★★★★
() автор топика
Последнее исправление: Atlant (всего исправлений: 2)

исходящий IP-адрес определяется приложением,
которое посылает исходящее сообщение,
если приложение его не определяет,
то он определяется автоматически,
обычно это _основной_ адрес интерфейса, через который отправляется...

Т.е. если приложение принимает пакет UDP
и не запоминает на какой IP-адрес он получен,
и отправляет его не указывая адрес с которого отправлять,
то это проблема этого конкретного приложения.

Нужно в настройках dns-сервера указать,
что слушать этот конкретный IP-адрес?
Если нужно слушать несколько,
то для каждого для каждого адреса свой dns-сервер?

ru_org_linux
()
Ответ на: комментарий от Atlant
 ip route get EXT_IP
local EXT_IP dev lo table local src EXT_IP uid 0  cache <local>

Дык значит этот EXT_IP локальный адрес.

или кто-то его специально зароутил в dev lo.

«ip ro ls table all» и «ip a» посмотри

«iptables -t nat -n -L» пустой?

vel ★★★★★
()