AI를 이용해서 서버룸을 그렸는데 요렇게 나옴

오라클클라우드에서 프록시용 포트 3128에 제약이 있는 것 같습니다

Web, 인터넷 2024년 6월 15일

오라클클라우드 A1에서 프록시 서버 구동

이전에 squid proxy로 오라클클라우드 A1에 프록시 서버를 구동해서 사용하고 있었습니다. 얼마전까지 오라클 클라우드 끼리만 통신을 해서 이상한 점을 전혀 발견하지 못했습니다.

다른 기기에서 프록시 못 쓰는 것 발견

다음과 같은 형태의 squid를 프록시 주소(http://id:pw@123.123.123.123:3128)를 사용할 때 오라클클라우드끼리는 통신이 되지만 다른 기기에서는 접속이 차단됩니다.

저만 그런건지 다른분도 그런건지는 모르겠습니다. 원인 찾다가 시간이 한참 걸렸는데 결론은 오라클네트워크에서 3128포트에 제약을 건 것 같다는 결론입니다. 물론 틀렸을 확률도 높습니다만 혹시나 저처럼 삽질하는데 시간 쓰는 분 있을까봐 올려봅니다.

일단, 지금은 닫혀있지만 테스트할 때 TCP 3128 포트는 열어뒀습니다.

3128 포트는 모든 주소에 대해 열려있습니다

squid, tinyproxy 모두 도커컴포즈를 이용해서 실행했고 포트가 겹치지 않게 하나씩만 실행했습니다.

테스트 방법

curl로 ip 반환 테스트를 했습니다.

curl -x http://id:pw@123.123.123.123:3128 -i ifconfig.me

터미널에서 위와 같은 형태로 입력하면 프록시 서버의 ip를 반환합니다. ifconfg.me는 요청을 보낸 클라이언트의 ip를 반환하는 웹서비스입니다. (브라우저도 지원)

테스트 내용

squid 프록시

💡
squid 프록시 서버1(오라클A1 오사카에서 프록시 구동, 3128포트 열려 있음)
  • 오라클A1 오사카에서 접속가능(로컬이니 당연)
  • 오라클A1 춘천에서 접속가능
  • 오라클E2 서울에서 접속가능
  • 작업실 우분투에서 접속 불가
  • 집, 작업실 PC에서 접속 불가
💡
squid 프록시 서버2(오라클A1 춘천에서 프록시 구동, 3128포트 열려 있음)
  • 오라클A1 오사카에서 접속가능
  • 오라클A1 춘천에서 접속가능(로컬이니 당연)
  • 오라클E2 서울에서 접속가능
  • 작업실 우분투에서 접속 불가
  • 집, 작업실 PC에서 접속 불가
💡
squid 프록시 서버3(작업실 우분투에서 프록시 구동, 3128포트 열려 있음, 오라클과 도커명령어 100% 같음)
  • 모든 기기에서 접속 가능

tinyproxy

소프트웨어 문제인가 싶어서 tinyproxy로도 테스트 해봤습니다.

💡
tinyproxy 서버1(오라클A1 오사카에서 프록시 구동, 3128포트 열려 있음)
  • squid 프록시와 결과 같음
💡
tinyproxy 서버2(오라클A1 춘천에서 프록시 구동, 3128포트 열려 있음)
  • squid 프록시와 결과 같음
💡
tinyproxy 서버3(작업실 우분투에서 프록시 구동, 3128포트 열려 있음, 오라클과 도커명령어 100% 같음)
  • 모든 기기에서 접속 가능

👨‍⚕️위와 같은 실험 끝에 오라클의 3128포트의 제한이 걸렸있다는 결론을 내렸습니다.

해결 방법

3128포트말고 다른 포트를 사용하면 다른 기기에서도 정상적으로 작동합니다. 왜 3128포트만 그런지는 이유를 못 찾았는데 아마 오라클 슨상님들만 아시는 뭔 이유가 있겠죠.

뭐 보안상으로도 기본포트인 3128보다는 다른 포트가 좋으니 포트 바꿔서 쓰시는 분들은 이런 현상 겪지도 않으실텐데 저는 괜히 삽질하느라 시간 날렸네요.

뭐 이참에 tinyproxy를 써봤는데 속도는 squid가 좀 더 빠른 것 같고(확실치는 않음), 기능이 tinyproxy쪽이 좀 더 설정하기 편하네요. 근데 둘 다 arm64가 없거나 제대로 안되는 도커도 있고, 설치 설명이 친절하진 않습니다.

태그

BoniK

협업, 의뢰, 레슨 등 문의 : mail@bonik.me, open.kakao.com/me/bonik