저는 autossh를 사용하고 있으며 다음 예와 같이 설정했습니다.http://surniaulula.com/2012/12/10/autossh-startup-script-for-multiple-tunnels/
나는 그것이 꽤 잘 작동한다는 것을 알았지만 약간의 설명이 필요합니다. 특히 다음 예에서 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나 어댑터가 무엇인지 궁금합니다. 최종 결과는 같다고 생각하지만 내 자신의 이해를 명확히하고 싶습니다.
고쳐 쓰다
사용 중인 네트워크의 특정 IP를 포함하도록 테스트를 업데이트한 다음 포트에 연결을 시도했지만 지정된 특정 포트에서는 작동하지 않는 것으로 나타났습니다. 예:
ForwardPort=(
"L x.x.x.x:3397:127.0.0.1:3306"
"L 127.0.0.1:3397:127.0.0.1:3306"
)
이것이 작동하지 않기 때문에 내 친구가 어댑터에 대해 옳았다고 믿게 됩니다. 누구든지 어댑터 작동 방식에 대한 세부 정보를 제공하거나 이를 설명하는 좋은 기사에 대한 링크를 제공할 수 있다면 매우 감사하겠습니다.
답변1
내 답변을 알아냈고, 관심이 있거나 나와 같은 사람이 Google에서 답변을 검색했지만 찾을 수 없는 경우를 대비해 답변을 게시하겠다고 생각했습니다.
따라서 x.x.x.x
이 작업을 수행하면 이것이 내 원격 서버의 WAN IP가 됩니다. IP가 해당 어댑터 중 하나가 아니기 때문에 autossh는 이에 대해 아무것도 모릅니다. ifconfig
서버에서 실행 중인 경우 예를 들어 WAN IP를 포함하는 로컬 루프백 127.0.0.1
및 기타 어댑터를 얻게 됩니다. eth0
이렇게 하면 *
로컬 루프백과 WAN의 모든 요청이 전달됩니다. 따라서 *
모든 요청이 라우팅되며 127.0.0.1
머신 자체에서 들어오는 요청만 라우팅됩니다.
외부 전달을 허용하되 이를 수행할 수 있는 사람을 제한하려면 *
서버의 통신을 실행한 후 제한하면 됩니다 iptables
.