목적 외국에서 한국 Nexplix를 보고 싶다. 하지만 유료 VPN은 별로 사용하고 싶지 않다. 수시로 접속 거부를 당하면서 요금을 지불하고 싶지는 않다. 해결책 부모님 댁에 VPN서버를 지원하는 무선공유기를 한대 설치해 드리고 나는 외국에서 VPN으로 접속하여 Nexplix를 감상한다! 상황 공유기에 설정한 VPN에 iPad, Macbook으로 접속하면 문제 없이 한국 Netplix로 접속되는것을 확인했다. Windows11에서는 기본 VPN으로 iptime의 VPN에 접속하면 일본 Netplix로 접속 된다. 원인 처음에는 VPN의 Split Tunneling 문제가 아닐까 싶었다. Windows의 VPN설정에서는 Split Tunneling설정이 보이지 않았으므로 Power Shell에서 확인해 보았지만 Split Tunneling은 설정되어 있지 않았다. 결론부터 말하면 원인은 DNS서버였다. 이유는 모르겠지만 MacBook에서는 VPN접속시, DNS서버도 VPN서버의 DNS가 자동으로 설정되었는데 Windows11에서는 DNS서버가 변경되지 않아 한국 지역으로 인식되지 않았던 것으로 추측. Solution Windows11의 VPN접속 설정에서 접속시의 DNS서버를 한국의 공유기 IP로 지정을 해주었다. 그리고 IPv6이용설정을 해제하여 IPv4만 이용하도록 설정하니 문제 없이 접속되었다. 다음 문제 미니PC를 한대 구매하여 모든 설정을 마쳤지만 매번 키보드/마우스로 조작하는게 귀찮아 Remote Desktop으로 접속하는 것을 생각했다. 미니PC에 접속할때는 iPad를 이용할 계획인데 현재 찾아본 바로는 Console접속을 지원하는 Application이 없는 듯 하다. RemoteDesktop으로 접속하면 현재 TV에 연결해 놓은 세션은 꺼져버리니 Console로 접속가능한 어플리케이션이 필요하다. TeamView를 이용하니 어느정도 문제가 해결되긴 했지만 여기저기 조그마한 문제점들이 있어 고민중.
aws ec2 접속시 개인유저를 할당
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
aws 는 기본적으로 amazon linux 가 시작될떄 ec2-user 가 설정되고, 지정한 keypair 의 public key를 cloud-init가 ec2-user의 .ssh 디렉토리에 배치한다. 이로서 ec2-user 의 private key를 가지고 있는 모든 유저가 ec2-user로서 ssh 접속이 가능해진다.
하지만 ISMS나 PCI DSS등 여러 시큐리티 규약에서 공용계정을 배제해야 한다는 요구사항이 들어 있다. 여러 솔루션을 조사 했지만 비용이 많이 들어가거나 유지보수가 어려운 등 적절한 게 없어서 고민하다가 aws-ec2-ssh 라는 패키지를 이용해서 스크립트를 조금 수정하는 것으로 어느정도 원하는 유저관리 시스템을 구축 할 수 있게 되었기 때문에 여기에 메모형식으로 남긴다.
aws-ec2-ssh
https://github.com/widdix/aws-ec2-ssh
- IAM user를 추가하여 그룹을 지정
- IAM user는 code commit 용 public key를 upload
- sshd_config를 수정하여 지정한 유저의 public key로 인증
- import_user.sh 를 실행하면 지정한 IAM group의 유저리스트를 이용하여 user를 추가
특별한 문제 없이 잘 작동하는 것 까지 확인은 했지만 문제는 한 유저에 지정가능한 그룹수에 제한이 있기 때문에 한 유저에 대해 지정가능한 어카운트 지정이 한계가 있다는 거다. 확인해 본 결과 iam user를 등록할 수 있는 group수는 변경할 수 없는 항목이니 이걸로는 좀 부족하다 느꼈다.
import_user.sh 를 뜯어 보니 아래와 같이 그냥 group의 유저리스트를 확인 하는 것 뿐이다.
for group in $(echo ${IAM_AUTHORIZED_GROUPS} | tr "," " "); do
aws iam get-group \
--group-name "${group}" \
--query "Users[].[UserName]" \
--output text \
| sed "s/\r//g"
done
그래서 생각해 낸 방법이 해당 ec2에 접속을 허가할 iam user 리스트를 파일로 작성하여 s3에서 다운로드 하도록 하는 방법이다. 그리고 s3는 bitbucket 이나 github, gitlab 등을 이용하여 리뷰 및 승인 플로우를 넣어 놓으면 문제 없을 듯.
스크립트를 아래와 같이 수정한 후 정상적으로 작동하는 것을 확인하였다.
108: for group in $(echo ${IAM_AUTHORIZED_GROUPS} | tr "," " "); do
109: #aws iam get-group \
110: #--group-name "${group}" \
111: #--query "Users[].[UserName]" \
112: #--output text \
113: #| sed "s/\r//g"
aws s3 cp s3://bucketname/listfile -|cat
echo ""
114: done
152: #aws iam get-group \
153: # --group-name "${group}" \
154: # --query "Users[].[UserName]" \
155: # --output text
aws s3 cp s3://bucketname/listfile -|cat
echo ""
스크립트를 일부 수정하면 /etc/aws-ec2-ssh.conf 에 bucket name을 지정하는 것도 가능하다. 그외 ssm document 를 이용한 운영도 하고 있지만 개인 메모용이니 여기까지만.
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
이 블로그의 인기 게시물
CISCO 2960s 초기화 후 기본 설정
이전 포스팅을 이전한 내용. 굴러다니던 스위치로 새로운 세그먼트 설정을 할 필요가 생겼기에 이리저리 조사해보고 초기화+기본설정을 했다. 초기화 부터 작업한 적은 처음이므로 메모 로서 남겨둔다. 스위치 초기화 sw> en sw # ter len 0 sw # show run sw # show flash: sw # erase startup-config sw # delete flash:vlan.dat sw # reload ‘ter len0’ 명령어와 show 명령어들은 현재 상태를 확인 하는 차원에서 입력한 명령어다. 필요하다면 출력결과를 백업 해놓는 편이 좋을 수도 있다. 스위치는 전원을 넣은 후 부팅 하면서 ‘startup-config’ 라는 파일로부터 설정을 읽어들인다. 그러므로 ‘erase startup-config’ 명령어로 설정파일을 지워버리면 다음 부팅시에 파일이 없으니 초기화 화면을 표시해 준다. 마지막으로 ‘flash:vlan.dat’ 명령어 인데 vlan 설정들은 스위치 설정과 별도로 vlan.dat 파일에 들어 있으니 이 파일을 지워두지 않으면 스위치 재설정 후 vlan 정보는 초기화 이전의 데이터가 그대로 남아 있는 현상이 발생한다. 초기설정 스위치를 초기화 하고 재부팅을 시키면 아래와 같은 초기설정 화면이 나온다. 호스트명, 관리IP어드레스 등을 입력해준다. Would you like to enter the initial configuration dialog? [yes/no]:yes Would you like to enter basic management setup? [yes/no]:yes Enter host name [Switch]: 2960 S-My-SW Enter enable secret: Enter enable password: Enter virtual terminal password: Configure SNMP Network Management? [no]:no Enter int...
curl 명령어 옵션
# 결과를 지정한 이름으로 파일에 저장 $ curl -o response.txt https://www.example.net # 결과를 파일이름으로 저장, index.html 이 저장됨 $ curl -O https://www.example.net/index.html # SSL증명서 에러 무시 $ curl -k https://www.example.net # 진척상황을 표시 하지 않기, 에러도 표시되지 않음 $ curl -s -o response.txt http://www.example.net # 에러메시지는 보고 싶을때 $ curl -sS -o response.txt http://www.example.net # progress bar로 진척상황표시 $ curl -# -O http://www.example.net/index.html # proxy이용시 $ curl -x <proxyip>:<port> --proxy-user <username>:<password> http://www.example.net $ curl -x <username>:<password>@<proxyip>:<port> http://www.example.net # 301/302등의 redirect를 자동인식 $ curl -L http://www.example.net # http의 메소드를 지정 $ curl -X [PUT|GET|POST] http://www.example.net # parameter를 POST로 송신 $ curl -w '\n' 'http://www.example.net/posturl' -X POST --data 'name=myname&mode=create' # status code만 출력 $ curl -sS -w '%{http_code}\n' http://www.example.net # http의 response header를 확인...
맥북 카라비너 영어/한글/일본어 전환하기
현재 Intel 맥북과 M1 맥북에서 4종류의 키보드를 사용중이다. HHK RealForce MD770 Keychron K12 마음 가는대로 키보드를 바꿔가며 사용중인데 매번 설정을 바꾸는게 고역이다. 특히 한글/영어/일본어 간의 변환은 스무즈하게 바꿀 수 없다면 타이핑 하는데 꽤나 고역이다. 그래서 카라비너를 이용한 변환키 설정을 기록한다. 기본 컨셉은 일본어 배열 키보드와 영어 배열 키보드에서 간단하게 각 언어 변환이 가능할 것. 일본어 키보드의 경우는 스페이스바 왼쪽의 키를 한번 누르면 영어, 스페이스바 오른쪽의 키를 누르면 일본어, 연속으로 두번 누르면 한글로 바뀌는 설정이고, 영어 배열 키보드에서는 왼쪽쉬프트+스페이스바가 영어, 오른쪽쉬프트+스페이스가 일본어, 오른쪽 커맨드키를 두번 누르면 한글이 되는 설정이다. Keychron K12(영어배열) + Macbook M1 카라비너 설정 / Simple Modificiations 카라비너 설정 / Complex modifications { "title" : "한글전환 커스텀 For M1 " , "rules" : [ { "description" : "영어 키보드 - 좌측Shift+스페이스:영어, 우측Shift+스페이스:히라가나, 우측 커맨드키 더블클릭:한글" , "manipulators" : [ { "type" : "basic" , "from" : { "key_code" : "spacebar" , "modifiers" : { "mandatory" : [ ...
댓글
댓글 쓰기