На компьютере foo мой ~/.ssh/config
имеет следующую запись
Host bar
User punkish
Port 2222
HostName bar.example.org
На панели компьютера мой ~/.ssh/config
имеет следующую запись
Host baz qux
User punkish
Port 2200
HostName %h.example.org
Я могу ssh
от foo до бара без проблем когда-либо. Как только я нахожусь в баре от foo, я не могу никуда добраться из бара. Я не могу ping
, я не могу ssh
, ни curl
ни git
. Ничего такого. Это как будто есть брандмауэр, блокирующий меня. Изображение ниже, надеюсь, объясняет проблему.
Что следует отметить:
- Я использую Mac OS X 10.8.4 на всех компьютерах (foo, bar, baz, qux)
- foo → bar работает, а foo → bar → внешний мир - нет.
- После того, как я физически в баре, я могу нормально добраться до других машин. То есть бар → внешний мир работает нормально.
- Ничто в сети, где находится бар, никогда не изменится.
- Там нет брандмауэра на панели (или, в этом отношении, на любом компьютере, участвующем в этом сценарии)
- bar имеет статический IP 10.0.2.20, который зарезервирован IANA для частных интрасетей и не маршрутизируется в Интернет. бар и находится за роутером со статическим IP x1.x2.x3.x4. Порт 80 и порт
ssh
на маршрутизаторе сопоставлены с соответствующими портами на панели, так что я могу получить доступ к веб-сайтам на панели и такжеssh
на панель.
FWIW
[bar] ~ sudo ipfw list
65535 allow ip from any to any
Команда ниже показывает, что ничего не происходит на порту 2200
[bar] ~$ sudo lsof -i -P | grep -i "listen"
Самая важная вещь, на которую стоит обратить внимание - я могу успешно ssh
, когда я физически в баре. Только когда я ssh
в бар , я не могу никуда выйти из бара.
Что может быть не так? Как мне вообще начать это расследовать? Есть ли команда, которую я могу использовать, чтобы определить, заблокированы ли мои порты, и если да, то чем?