2015-02-06 5 views
0

Я использую autossh и настроить его, как показано в следующем примере: http://surniaulula.com/2012/12/10/autossh-startup-script-for-multiple-tunnels/CentOS с AutoSSH 127.0.0.1 против *

Я нашел, что это работает очень хорошо, но нуждаются в уточнении. В частности, разница между 127.0.0.1 и * в следующих примерах:

ForwardPort=(
    "L 127.0.0.1:3397:127.0.0.1:3306" 
) 

против

ForwardPort=(
    "L *:3397:127.0.0.1:3306" 
) 

Первый, кажется, делает редирект, если идет от самого хозяина машины, где второй кажется переходить из любого места. Для меня это переводилось так, как будто * для любого IP-адреса пересылал трафик, но кто-то сказал мне, что он просто говорит для любого адаптера на машине. Мне любопытно, есть ли какой-либо IP-адрес или какой-либо адаптер? Я предполагаю, что конечный результат один и тот же, но мне хотелось бы пояснить свое понимание.

Update

Я обновил свой тест, чтобы включить конкретный IP-сети, я использую, а затем пытался подключиться к порту и обнаружил, что он не работает с конкретным портом, указанным, например,

ForwardPort=(
    "L x.x.x.x:3397:127.0.0.1:3306" 
    "L 127.0.0.1:3397:127.0.0.1:3306" 
) 

Поскольку это не сработало, это заставляет меня поверить, что мой приятель был прав об адаптерах. Если кто-нибудь может предоставить мне некоторые сведения о работе адаптера или ссылку на хорошую статью, которая объясняет это, я был бы признателен.

ответ

0

Выяснил свой ответ, решил, что я отправлю свой ответ, если кто-то заинтересован или ответит на вопрос, как я, и не нашел его.

Итак, когда я сделал x.x.x.x, это был WAN IP моего удаленного сервера. Автос не знает об этом, поскольку IP не является одним из его адаптеров. Если вы запустите ifconfig на сервере, вы получите свой локальный loopback 127.0.0.1 и другие адаптеры, такие как eth0, у которых будет WAN IP. Выполняя *, пересылка для любых запросов поступает из локального цикла, а также из WAN. Таким образом, * направляет все запросы, где 127.0.0.1 использует только те, которые поступают из самой машины.

Если вы хотите разрешить внешние форварды, но ограничить, кто мог это сделать, вы могли бы достичь этого, выполнив *, а затем ограничивая связь сервера с помощью iptables.