목록분류 전체보기 (238)
devops
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/s4ptb/btrdM5aT7PD/IYRWDukVKRxk5dmZT3pCdk/img.png)
스위치(Switch) 스위치는 데이터 패킷에 포함된 목적지 주소를 기준으로 받는 곳과 보내는 곳을 계산하여 해당 포트로 1:1 연결한다. 패킷의 주소에 맞게 전달한다고 보면 된다. 특징 및 장점 Processor, RAM, OS를 탑재하고 있어 부가 기능이 있다. 또한 패킷의 감청이 어려운 구조기 때문에 보안성도 높은 편이다. 사용방식은 허브와 비슷한 구조지만, 스위치는 훨씬 향상된 속도를 제공할 수 있다. 허브는 포트수가 많아질 수 록 속도가 느려지지만, 스위치는 포트 수와 관계없이 회선을 100% 점유하여 사용하기 때문에 빠르다. 포트 수에 영향을 받지않기 때문에 병목현상이 거의 생기지 않는다. 스위치 종류 L2 데이터 전달 기능을 하며, 2 Layer(데이터 링크)의 Max 주소를 기반으로 작동한다..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/TakzN/btrduU63rEf/7aw8Ujcn4lKaDEQkRf1ci1/img.png)
fail2ban 원격 서버로 접속하기 위해서 SSH를 사용하는 사람들이 많다. 그러나 본인이 아닌 해커가 무작위 로그인을 시도하여 문제가 발생할 수 있는데, 무작위 로그인 공격에 대응하기 위해 사용하는 것이 fail2ban 패키지다. (파이썬으로 개발됨) IP주소를 기준으로 커널 방화벽에 등록하여 무작위 로그인 공격을 차단시켜준다. SSH를 공용으로 사용한다면 설치하는 것을 추천한다. 설치방법(우분투 Ubuntu 기준) $ sudo apt install fail2ban 서비스 시작, 재시작, 정지, 상태 확인 $ sudo systemctl enable fail2ban $ sudo systemctl disable fail2ban $ sudo systemctl restart fail2ban $ sudo sy..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/zBtid/btrdqLDebmt/EjEv1pHSHOBIRk45Rrn8gk/img.png)
ifconfig $ ifconfig 인터페이스 확인 $ ifconfig -a 모든 인터페이스 확인 route $ route -n 게이트웨이 목록 확인 $ sudo route add default gw 10.0.2.50 기본 10.0.2.50 게이트웨이 추가 $ sudo route del default gw 10.0.2.50 10.0.2.50 게이트웨이 삭제
PATH 환경변수 란? 프롬프트에서 command를 치면, 그 실행파일을 OS가 찾는다. 이 OS가 명령을 수행하기 위해 찾는 위치가 PATH다. PATH에 설정된 명령어는 명령어만 쳐도 실행이된다. PATH에 설정안된 명령어는 명령어의 절대경로를 모두 입력해야한다. 쉽게 말해서 PATH는 사용자가 정의해놓은 길을 의미한다. 경로들은 /usr/bin:/etc:/usr/local/bin 과 같이 클론(:)으로 구분되어 저장되어있다. 명령어 찾는 순서 1) /etc/profile 2) /etc/bashrc 3) /etc/inputrc 4) $HOME/.bash_profile 5) $HOME/.bashrc 6) $HOME/.inputrc 환경변수 추가 방법 1 $ export PATH = :$PATH 환경변수..
shell 쉘은 명령어 처리기라고 불린다. 운영 체제에서 다양한 기능과 서비스를 구현하기 위해 인터페이스를 제공하는 프로그램이다. 커널과 사용자 사이에서 매개체 역할을 한다고 보면 된다. bash, ksh, csh 등이 있다. bash Bash는 shell의 한 종류로써, Bourne Again Shell의 축약어다. 기존 Bourne 쉘과 호환이 가능하며, Bourne 쉘에 비해 많은 기능을 제공한다. 리눅스 쉘이라고 불리며 리눅스에서 가장 많이 사용된다. bash는 5개의 설정 파일을 가지고 있다. 일반적으로 전역적인 파일은 /etc 디렉토리에 위치한다. 지역적인 파일은 사용자 ~/.bashrc와 같이 home에 위치하는 경우가 많다. 1) /etc/profile 환경 변수와 bash가 수행될 때 실..
Golang 최신버전 설치 방법 $ wget https://dl.google.com/go/go.linux-amd64.tar.gz 에 들어갈 최신버전은 다음 링크에서 확인한다. https://golang.org/dl/ $ sudo tar -C /usr/local -xzf go.linux-amd64.tar.gz 다운받은 압축파일을 /usr/local에 푼다. $ export PATH=$PATH:/usr/local/go/bin 환경 변수를 지정한다. $ source ~/.profile Go command not found가 발생할 때 해결 방법 $ sudo nano /etc/sudoers secure_path=" 어쩌구 저쩌구" 여기에 :/usr/local/go/bin 패키지 경로 추가 ctrl + x, y ..
$ tail -f /var/log/bootstrap.log 부팅시 발생하는 로그 확인, 어떤 프로세스가 성공하고 실패했는지 확인해본다. tail은 지속적인 로그발생을 확인하는 명령어 $ cat /var/log/bootstrap.log cat을 활용하면 전반적인 로그 현황을 확인할 수 있다. $ cat /var/log/dpkg.log 패키지와 관련된 로그 현황을 확인 $ cat /var/log/kern.log 커널에서 발생하는 로그 메시지 확인 $ cat /var/log/syslog 시스템 로그 메시지 확인 $ cat /etc/crontab 시스템 예약작업 crontab 데몬 확인
$ sudo apt install build-essential 소스코드 빌드 시 필요한 기본적인 패키지를 설치한다. gcc, g++, make, perl 등의 각종 라이브러리들이 설치된다. (궁금하면 apt show build-essential을 입력) $ sudo apt install python python 설치하기 $ sudo apt install python-pip 간혹 pip가 설치안되는 경우도 있으니, pip도 직접 설치 $ python --version 설치된 파이썬 버전을 확인 $ sudo apt install curl curl은 Client URL을 뜻하는 서버와 통신할 수 있는 커맨드 명령어 툴이다. 손 쉽게 웹 브라우저처럼 활동할 수 있다. 다양한 프로토콜을 지원하며, SSL 인증도 ..
sudo chown -R $(whoami):admin /usr/local/* && sudo chmod -R g+rwx /usr/local/* sudo chown -R $(whoami) $(brew --prefix)/*
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cD5ZSY/btrcUlzr5YK/gxDbFvfDAcn59DXPtmQSJk/img.png)
데몬 (daemon) 사용자가 직접적으로 제어하지 않고, 백그라운드에서 여러 작업을 하는 프로그램 서비스 (Service) 주로 서버/클라이언트 모델에서 출발하여, 사용자의 요청에 응답하는 프로그램 (주로 데몬 형태로 구동) 사용예) 웹서버 httpd 파일서버 ftpd 웹프록시 squid 우분투의 데몬 systemctl status systemctl status systemctl start systemctl stop systemctl restart systemd /lib/system/systemd 에서 실행한다. 프로세스의 자동 시작, 프로세스간의 의존성을 효율적으로 관리할 수 있으며, 갑작스런 종료에도 대응이 가능하다. $ systemctl list-units : 실행중인 서비스 목록 확인 $ syst..