CentOS ss( netstat ) / Firewalld( 실행, 영역, 설정 )에 대해서 정리한다.
※ ss ( netstat )
- socket 상태 확인 command
- 옵션
-a all, 모든 소켓 표시
-n numeric, 숫자로만 표시
-t tcp
-u udp
-l listening
-4 ipv4
-6 ipv6
-p process
1. State
LISTEN (클라이언트한테) 서비스 요청을 기다리고 있는 상태
UNCONN UDP
ESTAB 실제로 데이터를 교환하고 있는 상태
TIME-WAIT 연결 종료 후 일정시간동안 유지하고 있는 상태
FIN-WAIT 연결 종료 중인 상태
SYN-SENT SYN 패킷을 보낸후 연결을 요청한 상태
SYN-RECEVIED SYN 패킷을 받은후 ACK 패킷을 기다리고 있는 상태
2. Recv-Q, Send-Q
소켓 버퍼 사이즈
3. Local Address:Port , Peer Address:Port ( Local Address에 연결 되있는 주소 )
- ipv4
0.0.0.0:<port_number>
*:<port_number>
- ipv6
:::<port_number> ( ipv4 포함한 모든 주소 )
-> ipv6에서 ipv4 표현 방법
::ffff:<ipv4_address>:<port_number>
( 보통 ss -ant 명령어를 자주 사용하고 출력하고 싶은 내용을 기준으로 옵션을 여러개 사용하면 된다 )
※ Firewalld
1. firewalld 실행
#>systemctl restart firewalld
#>systemctl enable firewalld
* firewalld를 실행하면 따로 서비스 포트를 열어주지 않으면 클라이언트가 서버의 서비스로 접속 불가
- reload
#>firewall-cmd --reload
- state
#>firewall-cmd --state
2. zone ( 영역 )
- 영역의 종류 확인
#>firewall-cmd --get-zones
- ( default zone ) 기본 영역 확인
#>firewall-cmd --get-default
#>firewall-cmd --get-active
-> /etc/firewalld/firewalld.conf
( firewalld.conf 파일에 들어가보면 기본 영역이 public으로 설정 되있는걸 볼 수 있다 )
3. 설정
#>firewall-cmd
--zone=<zone_name> 영역 설정
--permanent 영구적
--list-all 영역의 설정 값 출력
--get-service 모든 서비스 목록 확인 ( 사용하려는 서비스가 없을때는 포트를 적어주면 된다 )
( zone 옵션을 쓰지 않으면 default zone에 설정 )
1) 영역 생성/삭제
#>firewall-cmd --new-zone=<zone_name>
#>firewall-cmd --permanent --new-zone=korea
( firewall-cmd --get-zone으로는 결과를 확인 불가 )
#>firewall-cmd --delete-zone=<zone_name>
#>firewall-cmd --permanent --delete-zone=work
( 기본값 영역은 지울수 없다 )
2) interface 설정
#>firewall-cmd --zone=<zone_name> --change-interface=<interface_name>
#>firewall-cmd --reload
#>firewall-cmd --zone=work --change-interface=eno16777736
#>firewall-cmd --zone=work --list-all
#>firewall-cmd --reload
( korea 영역은 새로 만들어서 기본 설정이 없어서 --change-interface 적용 불가 )
3) 서비스 설정
- 서비스 추가
#>firewall-cmd --zone=<zone_name> --permanent --add-service=<service_name>
#>firewall-cmd --permanent --add-service=ftp
#>firewall-cmd --reload
#>firewall-cmd --list-all
- 서비스 제거
#>firewall-cmd --zone=<zone_name> --permanent --remove-service=<service_name>
#>firewall-cmd --permanent --remove-service=ftp
4) 포트 설정 ( 서비스 이름을 모르거나 제공하지 않을때 등... )
- 포트 추가
#>firewall-cmd --zone=<zone_name> --permanent --add-port=<port_number>/<protocol>
#>firewall-cmd --permanent --add-port=21/tcp
#>firewall-cmd --reload
#>firewall-cmd --list-all
- 포트 제거
#>firewall-cmd --zone=<zone_name> --permanent --remove-port=<port_number>/<protocol>
#>firewall-cmd --permanent --remove-port=21/tcp
#>firewall-cmd --reload
#>firewall-cmd --list-all
( firewall-cmd 명령어를 이용할때 영역을 따로 지정해주지 않는다면 기본 영역으로 실행이 된다 )
( firewall-cmd --get-service를 통해서 서비스명으로 설정을 할 수도 있고 포트 번호를 통해서 설정을 할 수도 있다 )
ex) work 영역에 http 서비스를 추가( 영구적으로!! )
#>firewall-cmd --zone=work --permanent --add-port=80/tcp
or
#>firewall-cmd --zone=work --permanent --add-service=http
#>firewall-cmd --reload
#>firewall-cmd --zone=work --list-all
'프로그래밍 > LINUX' 카테고리의 다른 글
centos 7 네트워크 static 설정 (0) | 2019.07.17 |
---|---|
[LINUX] 리눅스 보안 설정 해제 및 MAC 주소 변경 방법 (0) | 2017.08.10 |
[LINUX 39일차] CentOS DBMS ( 설치, 설정파일, 서비스, SQL ) (0) | 2017.05.03 |
[LINUX 38일차] CentOS DNS ( 위임 ) / WEB ( 설치, 설정파일, 서비스, 웹프로그래밍 ) (0) | 2017.05.03 |
[LINUX 37일차] CentOS DNS ( 설치, 설정파일, 서비스 확인 ) (2) | 2017.05.03 |
댓글