ubuntu cockpit 외부 접속 문제

콜라

올해 초만 해도 잘 사용했습니다.

그러나 6월 이후 생성한 인스턴스부터는 안되더군요.

그래서 오라클 리눅스 사용하고 있었습니다.

 

그러나 여러가지 문제로 다시 우분투를 사용하려고 합니다.

하지만 안타깝게도 여전히 cockpit이 안됩니다.

 

증상

curl 127.0.0.1:9090, curl A1:9090, curl 10.10.10.10:9090 으로만 접속이 가능합니다.

(A1은 오라클 클라우드 우분투의 hostname입니다. 10.10.10.10은 인스턴스의 로컬 ip입니다.)

cockpit이 설치된 인스턴스에서 curl [public ip]:9090으로도 안되고 당연히 외부에서도 안됩니다.

(No Route to host에러가 나타납니다.)

 

하지만 오라클 클라우드 인프라 문제는 아닙니다

이 오라클 클라우드의 security list 문제였으면 no route to host가 아니라 time out이 나올겁니다.

게다가 nginx docker를 9090포트로 생성하면 접속 됩니다.

(curl IP:9090으로도 시도했고, 브라우저로도 테스트 했습니다.)

9090포트가 오라클 클라우드 측에서 막힌 것은 아니라는 것이지요.

ubuntu나 cockpit에서 막고 있는 것 같습니다.

 

cockpit은 이 명령으로 설치했습니다.

. /etc/os-release

sudo apt install -t ${VERSION_CODENAME}-backports cockpit

 

ubuntu minimal로 설치해서인지 ufw 도 없습니다.

(ufw allow 9090 입력시 ufw: command not found라고 나옵니다)

 

우분투 2004와 2204 모두 외부에서 접속이 안되는 문제가 발생하고 있습니다.

 

 

우분투에 cockpit 사용하시는 분들은 어떤 세팅을 건드려서 접속이 가능하게 되었나요?

여기서 무엇을 더 건드려봐야 할까요.ㅠㅠ

TS-563, DS-1815+ 이용중입니다.

라즈베리파이로 NAS 대체해보려고 배우러 왔습니다.

적용중인 도장이 없습니다.

* 가입일 : 2022-05-21

최근댓글 모음

오 4K? 좋네요. 저게 사기로 안들어간다는게 화납니다..ㅠ 1. 온도는 발열량을 말하는건 아니죠. '온도 = 발열 - 쿨링'입니다.  '온도 = 발열'이 아닙니다. 쓰로틀링은 '발열'을 낮추는 방법이고, fan 속도 증가나 온도를 높이는 것은 '쿨링'을 높이는 방법이죠.     쿨링은 그대로이고 온도는 높아졌.. 아닙니다. cpu 온도는 올라갔고, 분명히 쿨링에 개선이 있습니다   2. 온도는 생각하시는 것과 달리 높을수록 좋습니다. 물론 한계 온도 100도에 cpu가 97도라면, 순간적으로 고사양을 요구할 때 쓰로틀링이 걸릴 수 있습니다. 온도가 오르는 것이 fan의 rpm이 증가하는 것보다 빠르거든요.   그럼 온도 높이는게 좋다는 것에 대한 예를 들어보겠습니다. 물 온도가 10도인 곳에 1500도인 물건을 두었을 때 물건이 빠르게 식을까요, 11도인 물건을 놓았을 때 빠르게 식을까요? (여기서 식는다는 것은 10도에 더 빨리 도달하는것이 무엇이냐가 아니라, 어떤것이 열이 더 빠르게 이동하느냐, 열 배출이 빠르냐를 묻는 것입니다.) 1500도인 물건이 더 빠르게 식을겁니다. 1500도인 물건에 10도인 물이 담긴 세면대에 담궈두는 것과, 10도이고 계속 흘러가는 강물에 넣어두는 것중엔 무엇이 빠르게 식을까요? fan을 돌려서 찬 물이 계속 흐르게 하고, 이 fan을 빠르게 돌려서 수돗물을 강물로 만드는게 쿨러이죠.   그러므로 m2가 온도를 높임으로써 cpu 쿨링은 분명히 개선이 있습니다. (온도를 높이는 것은 역설적이게 위와 같은 이유로 발열을 조용하게 배출하는 좋은 방법 중 하나입니다)     3. 그럼 발열이 증가했을까? 모릅니다. 많은 분들이 제조공정이 개선되지 않았으므로 클럭당 발열이 개선되지 않았다고 합니다. 하지만 과거 amd가 저전력 프로세서에서 28나노로 14나노인 인텔보다 더 나은 전성비의 저전력 프로세서를 만든적 있었고 arm들도 같은 tsmc에서 같은 공법으로 만들었음에도 애플 A 프로세서가 퀄컴보다 나은 전성비를 보여줬습니다.   제조공정 개선이 전력 소모와 발열을 감소시키는건 맞습니다. 근데 전력소모와 발열 입장에서 제조공정의 영향력은 40%도 채 안됩니다. 아키텍쳐가 오히려 발열에서 영향이 큰데, 아키텍쳐 개선이 있었다면 클럭이 증가하고 발열은 적게 증가했을 수 있습니다. 아키텍쳐가 바뀌지 않았다면 제조공정 그대로에 클럭이 증가했으므로 발열이 증가했을겁니다.   결론적으로 저는 일단 둘리배 만지고 있겠습니다. 온도가 108도가 된것으로는 cpu 한계 온도가 증가되었다는 것 외에는 알수 있는게 없습니다. 또한 저 앱이 아직 m2를 미지원하는 것일 수도 있죠. pls..? 요즘 사장된 방식 아니었나요? 오랜만에 보네요. 중고 거래의 장점 중 하나가 약속 잡은 당일 바로 사용 가능하다는 것인데.. 솔직히 중간고사보다 다른 사람과의 약속이 중요하죠. 시험은 해봐야 부모와의 약속(솔직히 대한민국 청소년 중에 자신과의 약속으로 시험 보는 사람 없을거라고 생각합니다. )일텐데.. 자격증 시험 준비하는 성인일수도 있는데, 그러면 더욱 그러면 안되죠. 본인과의 약속과 타인과의 약속 중에 무엇이 중요할까요.   서로 얼굴 안보고, 더 이상 볼일 없다고 생각해선지 무례한 사람들이 많습니다. 정말 불쾌할 만 합니다.  
* 총 게시글 수 : 4
* 총 댓글 수 : 60
* 추천받은 게시글 개수 : 2
* 추천받은 댓글 개수 : 12
댓글
19
  • 달소
    2022.06.23

    희한하네요..안될 이유가 없는거같은데.. iptables도 별도로 없을까요?

  • 달소
    콜라
    작성자
    2022.06.23
    @달소 님에게 보내는 답글

    docker가 iptables에는 영향을 안받으니까 고 부분도 해봤습니다.

    sudo iptables -A INPUT -p tcp --dport 9090 -j ACCEPT

    로 했는데 안되더군요..

     

    오라클 클라우드에서 우분투 인스턴스에 콕핏 쓰는 사람이 저만 있을리가 없는데, 구글링을 해봐도 답이 안나오네요.

    4번 정도 다시 만들어도 문제가 발생하는데..

    왜 저만 안될까요..

    한국 오라클만 안되나..?

  • neidn
    2022.06.23

    tcpdump로 패킷 들어오는지 체크해봐야겠는데요

    iptables같은 서버내 방화벽으로 막혀있어도 패킷은 체크되야해요

     

    안되면 no route라 하니 공용ip랑 인스턴스가 연결이 되있나 확인해봐야 할거같아요

  • neidn
    콜라
    작성자
    2022.06.23
    @neidn 님에게 보내는 답글

    감사합니다! 해보겠습니다!

  • 콜라
    콜라
    작성자
    2022.06.23
    @콜라 님에게 보내는 답글

    해봤는데 신호가 들어오는 것 까지는 보이네요.

    ACK부터 안나갑니다...

     

    일단 공용 ip로는 들어오는게 확인이 되요. cockpit만 아니면 연결 가능하거든요.

    도움을 주셨는데, 안타깝게 해결이 안되었습니다.ㅠㅠ

  • 콜라
    neidn
    2022.06.23
    @콜라 님에게 보내는 답글

    클라이언트로부터 syn은 들어오고 ack는 안나간다는거죠? 아웃바운드 룰셋 걸려잇는걸수도 있으니 방화벽 한번 설치해보고 룰셋 확인해보세요

  • neidn
    콜라
    작성자
    2022.06.23
    @neidn 님에게 보내는 답글

    ufw가 없어도 룰셋이 걸릴수가 있나요?

    ufw 설치하고 allow 하였으나 안되네요..ㅠㅠ

  • 콜라
    neidn
    2022.06.23
    @콜라 님에게 보내는 답글

    아웃바운드가 막힌거니 allow가 아니라 룰셋을 flush 해보세요

  • neidn
    neidn
    2022.06.23
    @neidn 님에게 보내는 답글

    그 후에 allow 해보세요

  • neidn
    콜라
    작성자
    2022.06.23
    @neidn 님에게 보내는 답글

    ufw flush 후에 다시 allow 넣어보았지만 안되네요..

    애초에 ufw는 disabled 상태일 때도 안되었으니..

  • 우성짱
    2022.06.23

    ARM 버전인가요?

  • 우성짱
    콜라
    작성자
    2022.06.23
    @우성짱 님에게 보내는 답글

    그렇습니다.

    올 초에 1월인가 2월만 해도

    처음 콕핏을 알게되었을 때만해도 arm에서 잘 되었습니다.

     

    올 초에 사용할 때는 아마 19년 쯤에 만든 인스턴스에다가 적용했을건데,

    안되기 시작한건 올해 5월에 만든 인스턴스부터는 콕핏이 안되더라구요..ㅠㅠ

     

    ubuntu가 업데이트 되서 그런가보다.. 하고 있었는데 한달이 지나도 안되네요..

  • 콜라
    작성자
    2022.06.23

    일단 로컬에서는 접속이 가능하니까 리버스 프록시 npm을 두개를 둬야겠네요..

    호스트 네트워크 사용하는 npm이랑

    독커 브릿지 네트워크 사용하는 npm이랑

    해결책 나오기 전에는 이렇게 둬야겠네요.

  • 콜라
    콜라
    작성자
    2022.06.23
    @콜라 님에게 보내는 답글

    npm environment 옵션으로 port를 바꿀수가 없어보이네요.. 흑. 이것도 안되나..

  • 콜라
    콜라
    작성자
    2022.06.23
    @콜라 님에게 보내는 답글

    host network로 만든 npm도 127.0.0.1:81로는 접속이 되나 다른 곳에서 접속하면 차단이 되네요.

    ip tables에 추가해주었으나 역시나 안됩니다.

     

    cockpit이 아니라 ubuntu가 문제인가봅니다.

     

    어떻게 하면 외부 접속을 혀용할 수 있으려나요..

    ufw, firewall-cmd, iptables 말고 무엇이 차단할까요?

    아니면 하나의 컨테이너에 host network와 bridge 네트워크를 모두 추가할 방법은 없을까요?

  • 콜라
    작성자
    2022.06.23

    해결 했습니다

     

    sudo iptables -I INPUT -p tcp --dport 9090 -j RETURN

    sudo iptables -I INPUT -p tcp --dport 9090 -j ACCEPT

     

    두개를 순서대로 입력하여 해결했습니다.

  • 우성짱
    2022.06.23

    아하 .오라클 iptable이.좀 괴랄하죠.

     

    저는 처음 설치시 iptable 초기화 시킨 후 도커 설치합니다 ㅎ

     

    문제가 완전히 없어집니다

     

  • 우성짱
    콜라
    작성자
    2022.06.23
    @우성짱 님에게 보내는 답글

    확실히 오라클의 오라클리눅스나 라즈베리파이의 우분투는 문제가 없었는데...

    오라클 클라우드의 ubuntu iptable가 좀 이상한 것 같습니다.

    iptable을 초기화할걸 그랬습니다.ㅠㅠ

    지난 달에도 고생하다가 포기했는데, 문득 iptables에 통과시키는게 accept 말고 하나가 더 있다는게 떠올라서 그거 적용해보고, 순서도 중요하니 순서도 바꿔보고 했더니 어찌저찌 되네요.

     

    accept랑 return 에 대해서 자세히 알아보고 예시까지 보고 오니까.

     

     

     

    이해가 안갑니다.

    여전히 안되요.

    왜 되는지 모르겠어요.ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

     

    한가지 확실한건, 이것 저것 해본다고 쓰레기 파일도 생겼고, iptables 가 문제가 아닐지도 몰라서

    인스턴스를 종료하고 새로 생성해봤습니다.

    콕핏만 설치하고 위 댓글의 iptables를 순서대로 입력하니 바로 되네요.

  • 콜라
    작성자
    2022.06.23

    컨테이너들의 네트워크 설정은 Ip 주소 제외하고 전부 같습니다.

    그런데 한 컨테이너만 외부로 연결을 못합니다. 이건 무슨 문제일까요.후..

    duplicati로 백업한거 그대로 복원해서 켠건데 안되네요..

댓글 쓰기
권한이 없습니다.