В настоящее время я столкнулся с проблемой с RHEL 7.0 в отношении опции ssh -g (т.е. подключение удаленных хостов к локальным перенаправленным портам).
Я устанавливаю соединение с переадресацией портов с сервера на адрес myserver_ip с помощью обычной командной строки:
ssh -o StrictHostKeyChecking=no user@server_fqn -L9090:other_server_ip:9080 -g
Когда я указываю свой браузер (или пытаюсь получить что-то с помощью curl, я получаю исключение, в котором отказано в соединении):
curl -X GET "http://myserver_ip:9090"
curl: (7) Failed to connect to myserver_ip port 9090: No route to host
Если я сделаю то же самое на сервере Ubuntu, он будет работать отлично, однако на RHEL он просто не работает.
Я подозревал брандмауэр, selinux, даже сетевое подключение.
Чтобы решить эту проблему / устранить неполадки, я пробовал следующее:
service firewalld stop
)semanage port -l | grep 9090
), это было хорошоnetstat -alptn | grep 9090
), вроде нормально, у меня есть ssh-процесс, который слушает 9090tcpdump -i ens192 'port 9090' -v
), и действительно пакеты принимаются ...Таким образом, в основном это соответствовало тому, что система получает запросы на интерфейсе, процесс ssh прослушивает все интерфейсы на данном порту, однако процесс ssh не пересылает пакеты на другую сторону ...
У меня действительно нет потенциальных клиентов для устранения неполадок, поэтому, если у вас есть предложения, не сомневайтесь, я буду очень признателен за помощь.
Спасибо,
Curl уже сказал вам ответ. Дело не в SSH, не в брандмауэрах и не в selinux.
no route to host
Машина, на которой вы запускаете curl, не знает, куда он должен отправлять пакеты, предназначенные (IP-адрес, с которым он связан) my server_ip