일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 루비
- ubuntu
- AWS
- VPN
- golang
- DevOps
- 드라이버
- docker
- sudo
- Openswan
- 우분투
- Linux
- opsworks
- docker-compose
- 리눅스
- driver
- window size
- QT
- VIM
- Chef
- VMware
- 도커
- 방화벽체크
- RUBY
- port
- ssh command
- docker registry
- ssh
- docker container
- 패키지
- Today
- Total
구리의 창고
개요 AWS Site-To-Site VPN은 IPsec VPN 서비스이다. 운영환경에 이용하기 적합하지는 않지만, 이를 이용하면 온프렘과 네트워크를 연결하고 테스트 환경을 쉽게 구축 할 수 있다. 아래와 같이 가상의 온프렘을 AWS VPC와 EC2를 이용해 구축하고, TransitGateway를 통해 VPN과 연결한다. Openswan 오픈소스 기반의 IPsec VPN인 Openswan을 이용해 환경을 구축해보려고한다. BGP 설정을 위해서는 더 많은 작업들이 필요하지만, 이 글에서는 Static route 기반으로 구축하도록한다. 단계1: AWS Site-To-Site VPN 생성 Site-To-Site VPN과 TransitGateway를 아래와같이 terraform을 이용해 만들어준다. Opensw..
개요 Ubuntu에는 보안상 자동으로 패키지를 업그레이드 해주는 타이머가 설정돼있다. 그러나 서버 운영 중 자동으로 패키지 업그레이드가 발생되면 서비스에 영향을 끼칠 수 있어서 비활성화해주는 것이 좋다. 크게 두 가지 작업을 해야한다. 작업1. apt 서비스&타이머 비활성화 # 활성화 여부를 체크한다. $ systemctl list-timers | grep apt-daily Thu 2021-02-18 23:54:33 UTC 12h left Thu 2021-02-18 07:55:01 UTC 3h 15min ago apt-daily.timer apt-daily.service Fri 2021-02-19 06:47:28 UTC 19h left Thu 2021-02-18 06:03:01 UTC 5h 7min ag..
개요ssh를 이용해 원격으로 명령어를 실행 할 때, 환경 변수를 관리하고 설정하는 법을 설명한다.기본 설정기본 설정 값으로 넘길 수 있는 환경변수는 설정 파일에 아래와 같이 설정되어있다.AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE AcceptEnv XMODIFIERS주로 Locale 관련된 값이 넘어가는 것을 알 수 있다. 위 환경변수들은 ssh command를 실행 할 때 시스템에 설정된 값이 같이 넘어간다고 보면된..
개요OpenVPN 기본 설정을 사용해 TCP VPN 터널링(Site-To-Site) 구축 후, 파일전송을 해보면 속도가 지나치게 느린 경우가 생긴다. 자세한 설명은 이 블로그를 참고하면 된다. 요약하면 windows size가 너무 작아 이 부분 설정이 필요하다.설정 1. window size 조절서버와 클라이언트 양 쪽에 해당 설정을 추가하고 연결을 맺는다. 클라이언트 설정을 강제하지 않으려면 push로 시작하는 설정을 삭제해도된다.sndbuf 0 rcvbuf 0 push "sndbuf 393216" push "rcvbuf 393216"설정 2. comp-lzo 삭제comp-lzo가 설정 돼있으면 CPU 사용량이 늘어나면서 속도가 느려질 수 있으니 속도 향상을 위해서는 비활성화 하도록 하자.설정 3. ..
개요대부분의 서버의 경우 telnet이 설치되어 있겠지만, 보안상 인터넷망도 연결되어있지 않고 telnet도 설치가 안되어있는데 포트 점검을 하고 싶은 경우가 생긴다. 아무리 최소 설치를 하더라도 curl을 설치가 되어있다.해결방법curl의 파라메터 중 url에 telnet 스키마도 허용이된다.$ curl -v telnet://ip:port
개요Docker 이미지를 옮길 때 나는 에러이다. Docker image를 추출하고 저장하는 것처럼 보이는 명령어가 몇 가지 있는데 헷갈리면 안된다.export, import이미지가 아니라 컨테이너 데이터를 옮길 때 사용하는 명령어이다.save, load이미지를 추출하고 옮기는 명령어이다. 제목에 있는 에러는 save로 저장하고 import로 올렸을 때 나는 에러이다.결론docker: Error response from daemon: No command specified 이 에러가 날 떄는 save, load 명령어를 잘 쓰고 있는지 확인해야한다.
머리글클라우드에서 인스턴스를 실행하고 방화벽 설정을 하고나면 제대로 설정이 되었나 테스트를 해보고 싶다. 이럴 때 아무 포트나 오픈해서 telnet으로 체크를 하는 것이 간단한 방법이라 생각된다. 보통 아무 포트는 22번같은 포트를 체크하곤 했었는데 TCP/UDP로 특정 포트를 간단하게 Listening하게 해주는 유틸리티를 발견했다.해결책nc 라는 UNIX/Linux command utility를 사용하면된다. 포트를 오픈 할 머신에 nc -l 10000을 실행하고, 접속 할 머신에서 telnet {target} 10000으로 오픈이 되는지 확인한다.
머리글Docker로 이것저것 작업을 하다보면 Container에서 호스트로 접속 할 일이 생긴다. 모든 Container를 --net=host로 띄우면 되지만 네트워크를 분리하고 싶을 경우 이건 해결책으로 사용 할 수가 없다. 두 가지 방법이 있다.해결책1. network alias$ ifconfig lo0 -alias 1.1.1.1/241.1.1.1 이 Docker Container 안에서 사용될 아이피다. 시스템 내에서 사용하지 않는 아이피를 설정해서 사용하면 된다.해결책2. docker.for.mac.localhostDocker CE 17.06부터 추가된 hostname이다. Docker Container안에서 docker.for.mac.localhost를 호스트로 사용하면 바로 접근이된다.
머리글docker-ce 17.06 버전부터 Registry V1과 통신이이 기본으로 막혀있다. deprecated 예정이지만 꼭 사용해야 하는 시스템이 있으면 이 옵션을 강제로 활성화 시킬 수 있다. 이 글에서 Docker Registry 주소를 http://127.0.0.1:5000 이라고 가정하겠다.문제점이 문제가 발생하면 아래처럼 기본적으로 404 Not Found 에러가난다. 에러메시지가 좀 더 도움이 되면 좋겠지만 그렇지않다.Error response from daemon: login attempt to http://127.0.0.1:5000/v2/ failed with status: 404 Not FoundDocker API Version v1.12.0부터 기본으로 V1 사용이 비활성화되었는데..
머리글HTTP 서비스를 구축 할 때, 외부에 공개되지 않도록 하기위해 인증 시스템을 도입하는 경우를 생각해보자. HTTP 프로토콜에서 기본으로 제공하는 인증 시스템이 있는데 가장 간단한 방법은 Basic Authentication이다. 이 방법은 아이디/암호를 통해 인증을 하도록 되어있는데, 만약 TLS(HTTPS) 설정이 되어있지 않다면 plain text가 노출 돼 스니핑을 당해서 아이디/암호가 노출 됐을 때, 다른 시스템까지 보안에 취약해 질 수 있어서 위험하다. 모든 서버에 TLS를 설정하면 된다고는 하지만 속도나 비용문제 등을 생각 했을 때 항상 옳은 법은 아니다. 그래서 HTTP Digest Authentication이란 인증 방법을 사용해보려고 한다.설명HTTP Digest Authentic..