Я должен просто включать .netrc файл, чтобы иметь UNIX, берут его?

Это не точно nslookup конкретный, но должен работать в общем случае (если у Вас есть корневой доступ на Вашей машине). Это использует сетевой стек IP, чтобы удостовериться, что Вы используете интерфейс вместо другого. Прежде, чем назвать nslookup, просто добавьте маршрут к своим IP-адресам сервера DNS через определенный сетевой интерфейс.

Если у Вас есть 2 интерфейса (eth0 и eth1), то, что Ваш шлюз по умолчанию через eth0 (192.168.0.1), и что Вы хотите запросить Google DNS (8.8.8.8) через eth1 где Ваш путь к Интернету 192.168.1.1, Вы могли сделать:

ip route add 8.8.8.8/32 via 192.168.1.1

Добавление dev eth1 к команде не полезно, поскольку должен быть только один путь к 192.168.1.1.

При выполнении необходимо удалить маршрут для восстановления маршрутизации по умолчанию:

ip route del 8.8.8.8/32
3
12.02.2014, 02:29
1 ответ

Да, в целом .netrc файл должен просто работать, как Вы описали. Это могло бы становиться заблокированным Вашим клиентом FTP, не поддерживающим его (возможно, это было явно создано без этой активированной опции). Это было бы, вероятно, сделано, так как этот метод хранения имен пользователей/паролей по сути небезопасен и не должен, вероятно, использоваться.

Сверяющийся с strace

Можно всегда подтверждать то, что приложение делает путем трассировки его с помощью инструмента командной строки, strace.

$ strace -s 2000 -o ftp.log ftp m

После выполнения этого можно проанализировать файл журнала, ftp.log видеть если Ваш ftp клиент пытается считать файл .netrc. Если это будет работать правильно, то Вы будете видеть этот тип вывода в журнале.

setsockopt(3, SOL_SOCKET, SO_OOBINLINE, [1], 4) = 0
open("/home/saml/.netrc", O_RDONLY)     = 4
uname({sys="Linux", node="greeneggs.bubba.net", ...}) = 0
fstat(4, {st_mode=S_IFREG|0600, st_size=47, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f4898b85000
read(4, "machine ftp.somedom.org\n\tlogin sam\n\tpassword blah\n", 4096) = 47
fstat(4, {st_mode=S_IFREG|0600, st_size=47, ...}) = 0
read(4, "", 4096)                       = 0
close(4)                                = 0

Примечание: В вышеупомянутом я соединяюсь с ftp.somedom.org как пользователь "sam" использование пароля "вздор". Вы видите, что это читало из моего .netrc файл.

страница справочника ftp

Если Вы смотрите на ftp страница справочника там является этим переключателем, это упоминается в моей версии:

 -n    Restrains ftp from attempting “auto-login” upon initial connection.  
       If auto-login is enabled, ftp will check the .netrc (see netrc(5)) 
       file in the user's home directory for an entry describing an account 
       on the remote machine.  If no entry exists, ftp will prompt for the 
       remote machine login name (default is the user identity on the local 
       machine), and, if necessary, prompt for a password and an account 
       with which to login.

 open host [port]
       Establish a connection to the specified host FTP server.  An optional 
       port number may be supplied, in which case, ftp will attempt to 
       contact an FTP server at that port.  If the auto-login option is on 
       (default), ftp will also attempt to automatically log the user in to 
       the FTP server (see below).

Я нахожусь на Fedora 19:

$ rpm -qi ftp
Name        : ftp
Version     : 0.17
Release     : 64.fc19
Architecture: x86_64
2
27.01.2020, 21:28

Теги

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