reverse proxy 쓴 상황에서 synology 실제 ip 받아오기

reverse proxy 쓴 상황에서 synology 실제 ip 받아오기

시놀로지를 설정 한 후에는 보통 리버스 프록시를 설정하여 접속을 많이 한다. 이렇게 되면 ip대신 url 주소로 접속이 되기 때문이다. 그러나, 시놀로지 내에서 로그를 확인해보면 실제 ip주소가 아닌 리버스 프록시의 ip주소가 시놀로지에 뜨게 된다.

리버스 프록시만 쓰면 실제 ip가 안잡힌다

이렇게 되면 비밀번호를 틀려서 ip가 차단될 때 리버스 프록시 ip가 차단되어 모든 사람이 접속을 못하게 된다! 이를 막기 위해서는 시놀로지에서 실제 ip를 받아오도록 해야한다.

dsm 설정

DSM 웹페이지 접속시 ip 확인 설정은 쉽다. dsm 관리 페이지 접속 후

👉
제어판 --> 보안 --> 신뢰할 수 있는 프록시

로 들어가서 신뢰할 수 있는 프록시를 설정해주면 된다.

리버스 프록시 ip를 넣어주고 뒤에 숫자는 보통 /24를 넣어주면 된다 (192.168.3.xxx에 해당). 이렇게 되면 관리자 페이지로 접속시 실제 ip를 불러올 수 있다!

웹페이지 접속시 실제 ip는 불러올 수 있다!

그러나, webdav 사용 시 webdav 접속 기록은 실제 ip를 불러오지 않는다.

이를 해결할 방법을 알아보자

DSM webdav 설정

webdav에서 실제 ip를 불러오려면 dsm 관리페이지에서는 불가능하고 dsm에 ssh로 접속해 파일을 수정해주어야 한다.

💡
/volume2/@appstore/WebDAVServer/etc/httpd/conf/httpd.conf-webdav

에서 아래의 remoteIPheader, remoteIPinternalproxy를 수정해준다.

<IfModule remoteip_module>
    RemoteIPHeader X-Forwarded-For
    RemoteIPInternalProxy 192.168.3.1/24
</IfModule>

Caddy의 경우는 remoteIPheader에 X-Forwarded-For, NPM(nginx proxy manager)의 경우는 X-Real-IP를 적어주면 될것이다.

그러면 다음과 같이 실제 ip가 잘 뜬다!

마무리

이번엔 리버스 프록시에 연결된 시놀로지에서 리버스 프록시 ip 대신 실제 클라이언트 ip를 받는 방법에 대해 알아보았다. 이렇게 클라이언트의 실제 ip를 받아오면 어떤 ip에서 접속했는지 알아볼 수 있어 접속 기록 확인, 해외 ip 차단 등 다양하게 사용할 수 있을 것이다.