Iptables 문서 원본 보기
←
Iptables
둘러보기로 가기
검색하러 가기
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다:
사용자
.
이 문서는 편집하거나 다른 명령을 할 수 없도록 보호되어 있습니다.
문서의 원본을 보거나 복사할 수 있습니다.
Linux IPv4 환경에서 방화벽 서비스를 제공하는 iptables를 정리한다. * 홈페이지 : http://netfilter.org/projects/iptables/ * 다운로드 : http://netfilter.org/projects/iptables/downloads.html * 라이센스 : GPL 2.0 * 플랫폼 : Linux <br> ==설치 가이드== *iptables 설치 :*Ubuntu에 root로 로그인한다. :*sudo apt-get install iptables *설치 정보 :*설치 폴더 : :*환경 폴더 : :*데이터 폴더 : :*기동 종료 : :*서비스 확인 : :*로그 정보 : ==CentOS용 설치 가이드== *[[CentOS]]에 iptables 설치 :*Linux는 기본적으로 iptables를 방화벽으로 사용 한다. yum list | grep iptables yum install iptables service iptables on chkconfig iptables on chkconfig --list | grep tables *설치 정보 :*설치 폴더 : :*실행 파일 : /sbin/ :*환경 파일 : /etc/sysconfig/iptables :*기동 종료 : service iptables start, stop, restart == 사용자 가이드 == <pre>iptables -L iptables --append INPUT --source 175.115.92.0/24 --match tcp --protocol tcp --dport 22 --jump ACCEPT iptables --append INPUT --source 175.115.92.0/24 --match tcp --protocol tcp --dport 22 --jump REJECT iptables --delete INPUT --source 175.115.92.0/24 --match tcp --protocol tcp --dport 22 --jump ACCEPT iptables --delete INPUT --source 175.115.92.0/24 --match tcp --protocol tcp --dport 22 --jump REJECT</pre> 참고 문헌 *http://yyman.tistory.com/entry/Linux-43%EA%B0%95-%EB%B0%A9%ED%99%94%EB%B2%BD-IPv4-%EC%9E%90%EC%A3%BC-%EC%93%B0%EB%8A%94-%EA%B7%9C%EC%B9%99IPtables *방화벽 설정 명령어 setup system-config-securitylevel *iptables 정책 :*설정된 정책은 위에서부터 차례로 적용이 되기 때문에 순서에 주의 하여야 한다. Chain INPUT : 서버로 들어오는 정책 Chain FORWARD : 서버에서 포워딩 하는 정책 Chain OUTPUT : 서버에서 나가는 정책 Chain RH-Firewall-1-INPUT : 방화벽 설정이 적용되는 정책 *iptables 명령 iptables -L #--- 설정된 정책 확인 #--- 정책 추가(ACCEPT), 차단(DROP) iptables -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT iptables -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT :*특정 IP의 서버 접근 차단 방법 iptables -A INPUT -s 61.247.209.81 -j DROP iptables -A INPUT -s 61.247.209.0/24 -j DROP<font face="sans-serif, Arial, Verdana, Trebuchet MS"><span style="white-space: normal;"> </span></font> == 관리자 가이드 == === 규칙 설정 === SNAT (Source NAT) : 내부에서 외부 접속시 Source를 Private IP를 Public IP로 변환<br/>MASQUERADE : 게이트웨이 장치가 패킷의 출발지 IP주소를 사설IP 주소에서 자신에게 할당된 공인IP 주소로 바꿔서 인터넷으로 보내는 과정 DNAT (Destination NAT) : 외부에서 내부 접속시 Destination을 Public IP에서 Private IP로 변환 *tables (-t ~) : 특정한 정책에 따라 Chain을 모아 놓은 것 **filter : 허가된 접근을 허용하고 허가되지 않은 접근을 차단 **nat : Packet의 주소 변환 규칙을 정의 ***PREROUTING ***POSTROUTING **mangle **raw *chain (사슬) : 제어 규칙을 정의하는 기본 단위 :*INPUT : Host로 들어오는 패킷 :*OUTPUT : Host에서 나가는 패킷 :*FORWARD : Host를 지나가는 패킷 *match : 패킷을 처리할 때 만족해야 하는 조건 :*--source (-s) : 출발지 IP :*--sport : 출발지 Port :*--destination (-d) : 목적지 IP :*--dport : 목적지 Port :*--protocol (-p) : 프로토콜 (tcp, udp) :*--in-interface (-i) : 입력 인터페이스 (eth0, eth1) :*--out-interface (-o) : 출력 인터페이스 (eth0, eth1) :*--state : 연결 상태 (NEW, ESTABLISHED, RELATED, INVALID) :*--string : 애플리케이션 계층의 데이터 바이트 순서와 매핑 :*--comment : 주석 (최대 256 바이트) :*--syn (-y) : SYN 패킷을 허용하지 않음 :*--fragment (-f) : 두번째 조각부터 적용하는 규칙 :*--table (-t) : 처리할 테이블 :*--jump (-j) : 패킷 처리 방식 정의 (ACCEPT, DROP, REJECT, LOG, RETURN, MASQUERADE) :*--match (-m) : 특정 모듈과 매핑 (state, tcp, multiport) *target : ACCEPT (허용), DROP (삭제), REJECT (거부), LOG (syslog 기록), RETURN (패킷 처리 계속) *Connection Tracking : 연결 추적 :*NEW (새 연결 요청), ESTABLISHED (기존 연결), RELATED (기존 연결내 새 연결), INVALID *command :*--append (-A) : 규칙 추가 :*--delete (-D) : 규칙 삭제 :*--check (-C) : 패킷 테스트 :*--replace (-R) : 새로운 규칙으로 교체 :*--insert (-I) : 규칙 삽입 :*--list (-L) : 규칙 조회 :*--flush (-F) : chain의 모든 규칙 삭제 :*--zero (-Z) : 패킷과 바이트 카운트 값을 0으로 초기화 :*--new (-N) : 새로운 chain 생성 :*--delete-chain (-X) : chain 삭제 :*--policy (-P) : 기본 정책 변경 iptables -t nat -L #--- nat 테이블에 정의되어 있는 규칙을 조회 iptables -t -A POSTROUTING -o eth0 -j MASQUERADE iptables -P INPUT DROP #--- INPUT 기본 정책을 DROP으로 변경 iptables -A INPUT -i eth1 -j ACCEPT #--- INPUT에 규칙 추가 iptables -L iptables -nL iptables -nL --line-numbers iptables -L -v === 백업과 복구 === <pre>#--- 백업 #--- /etc/sysconfig/iptables 파일에 저장 된다. service iptables save # iptables-save > /etc/iptables.rules</pre><pre /> #--- 룰 초기화 #--- 룰 초기화시 서버에 접속이 되지 않습니다. iptables -F #--- 복구 cat /etc/sysconfig/iptables | iptables-restore #iptables-restore /etc/iptables.rules == 참고 문헌 == *[[Ip6tables|Ip6tables]] *[http://webdir.tistory.com/170 CentOS : 방화벽 설정 - iptables, 2013.7] *[http://nizistyle.tistory.com/1 리눅스 방화벽 설정 - iptables] *[http://edgar.tistory.com/entry/iptables-%EC%84%A4%EC%A0%95 iptables 설정, 2009.2] *http://linuxstory1.tistory.com/39 [[Category:오픈소스|Category:오픈소스]]<br/>[[Category:Linux|Category:Linux]]<br/>[[Category:Network|Category:Network]]
Iptables
문서로 돌아갑니다.
둘러보기 메뉴
개인 도구
로그인
이름공간
문서
토론
변수
보기
읽기
원본 보기
역사 보기
더 보기
검색
주요 메뉴
오픈소스 컨설팅
오픈소스
오픈소스 라이선스
오픈소스 커뮤니티
오픈소스 종류
오픈소스 현황
오픈소스 한글화
문자셋과 인코딩
Storage
Network
보안
고가용성
모니터링
오픈 API
오픈 서비스
Cloud
BigData
Android
산사랑 노트
둘러보기
인기 문서
최근 수정 문서
모든 문서
모든 분류
임의 문서
위키 사용법
자매 사이트
CMS
오비컨 홈페이지
오비컨 CMS
블로그
데모 - SuiteCRM
산사랑의 Twitter
산사랑의 Facebook
친구 사이트
공개SW 포털
OLIS
한국공개소프트웨어협회
AppCenter 지원본부
OLC
PSEG
개발자 블로그
블로터
개인 메뉴
메뉴 수정
양식함
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
특수 문서 목록
문서 정보