>> Read No. 1712 article  
레드햇7.1 ipchains에서 iptables로...

등록 2001-10-03 19:08:00     조회 5
이름 오승영    

		음... 방화벽에 대해 무지한 초보로써 여기저기 자료찾아보다가...
제 레드햇7.1에는 커널2.2용 ipchains과 커널2.4용 iptables가 같이 깔려있더군요. 그런데 기본적
으론 ipchains이 돌아가게끔... (설치시 방화벽 설정하는 부분이 ipchains설정이었습니다.) 그렇
다고 ipchains에서 iptables로 꼭 당장 바꿔야하는냐하면 그건 아닙니다. ipchains이 성능이 안좋
으것도 아니고 2003년(?)까지 지원될꺼라니까 문제는 없습니다. iptables가 새로운거니까 그리
고 저는 업글에 미친사람이니까... www.oops.org에 보시면 방화벽에 관한 좋은 글이 있습니다. 
제가 여기서 하고싶은 얘기는 레드햇7.1에 기본적으로 설정되어있는 ipchains을 iptables로 바
꾸는것에 관한것입니다. 우선 설치후 부팅할때 보면 ipchains이 뜨고 iptables는 뜨지않습니다.
 이유는 ipchain은 /etc/sysconfig/ipchains 이라는 파일에 설정되어있고 /etc/sysconfig/iptables는 없기
때문입니다. 설치치 방화벽보안수준을 보통으로하고 메일서버, 웹서버, FTP, SSH까 가능하도
록했다면 /etc/sysconfig/ipchains의 내용은 다음과 같습니다.  # Firewall configuration written by lokkit # 
Manual customization of this file is not recommended. # Note: ifup-post will punch the current nameservers through the #
       firewall; such entries will *not* be listed here. :input ACCEPT
:forward ACCEPT
:output ACCEPT
-A input -s 0/0 -d 0/0 25 -p tcp -y -j ACCEPT
-A input -s 0/0 -d 0/0 80 -p tcp -y -j ACCEPT
-A input -s 0/0 -d 0/0 21 -p tcp -y -j ACCEPT
-A input -s 0/0 -d 0/0 22 -p tcp -y -j ACCEPT
-A input -s 0/0 67:68 -d 0/0 67:68 -p udp -i eth0 -j ACCEPT
-A input -s 0/0 67:68 -d 0/0 67:68 -p udp -i eth1 -j ACCEPT
-A input -s 0/0 -d 0/0 -i lo -j ACCEPT
-A input -p tcp -s 0/0 -d 0/0 0:1023 -y -j REJECT
-A input -p tcp -s 0/0 -d 0/0 2049 -y -j REJECT
-A input -p udp -s 0/0 -d 0/0 0:1023 -j REJECT
-A input -p udp -s 0/0 -d 0/0 2049 -j REJECT
-A input -p tcp -s 0/0 -d 0/0 6000:6009 -y -j REJECT
-A input -p tcp -s 0/0 -d 0/0 7100 -y -j REJECT
 참고로 lokkit은 알란 콕스씨가 레드햇을 위해 만들어준 초보자용 GUI방화벽설정프로그램입
니다.(설치시 방화벽설정할때도 쓰임) 이제 ntsysv해보면 ipchains와 iptables가 둘다 체크되어있
습니다. 여기서 ipchains를 체크지우고 다시부팅합니다. iptables는 아직 설정되어있지않기때
문에 방화벽에 대한 내용이 아무것도 안뜹니다. 이제 위의 내용을 iptables형식으로 바꿉니
다. 기억할만한 규칙은; input, forward, output, tcp, udp는 대문자로,
-y 는 --syn으로 바꾸며 -p TCP뒤로 오고,
-s 뒤의 포트번호는 --sport 포트번호로 하고 -p [TCP|UDP]뒤에 오고,
-d 뒤의 포트번호는 --dport 포트번호로 하고 -p [TCP|UDP]뒤에 옵니다.
그외에도 몇가지 더있지만 여기선 여기까지...
그규칙들에 따라서 위의 ipchains의 내용을 iptables로 다음과 같이 입력합니다.
 iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -A INPUT -s 0/0 -d 0/0 -p TCP --syn --dport 25 -j ACCEPT
iptables -A INPUT -s 0/0 -d 0/0 -p TCP --syn --dport 80 -j ACCEPT
iptables -A INPUT -s 0/0 -d 0/0 -p TCP --syn --dport 21 -j ACCEPT
iptables -A INPUT -s 0/0 -d 0/0 -p TCP --syn --dport 22 -j ACCEPT
iptables -A INPUT -s 0/0 -d 0/0 -p UDP --sport 67:68 --dport 67:68 -i eth0 -j ACCEPT
iptables -A INPUT -s 0/0 -d 0/0 -p UDP --sport 67:68 --dport 67:68 -i eth1 -j ACCEPT
iptables -A INPUT -s 0/0 -d 0/0 -i lo -j ACCEPT
iptables -A INPUT -p TCP -s 0/0 -d 0/0 --syn --dport 0:1023 -j REJECT
iptables -A INPUT -p TCP -s 0/0 -d 0/0 --syn --dport 2049 -j REJECT
iptables -A INPUT -p UDP -s 0/0 -d 0/0 --dport 0:1023 -j REJECT
iptables -A INPUT -p UDP -s 0/0 -d 0/0 --dport 2049 -j REJECT
iptables -A INPUT -p TCP -s 0/0 -d 0/0 --syn --dport 6000:6009 -j REJECT
iptables -A INPUT -p TCP -s 0/0 -d 0/0 --syn --dport 7100 -j REJECT
 이제 설정한걸 확인해봅니다.
 iptables -L
 그리고 저장합니다.
 /etc/init.d/iptables save
 그러면 /etc/sysconfig/iptables 라는 파일이 다음과 비슷하게 생겼을겁니다.
 # Generated by iptables-save v1.2.1a on Wed Oct  3 04:17:36 2001
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
[0:0] -A INPUT -p tcp -m tcp --dport 25 --tcp-flags SYN,RST,ACK SYN -j ACCEPT
[0:0] -A INPUT -p tcp -m tcp --dport 80 --tcp-flags SYN,RST,ACK SYN -j ACCEPT
[0:0] -A INPUT -p tcp -m tcp --dport 21 --tcp-flags SYN,RST,ACK SYN -j ACCEPT
[0:0] -A INPUT -p tcp -m tcp --dport 22 --tcp-flags SYN,RST,ACK SYN -j ACCEPT
[0:0] -A INPUT -i eth0 -p udp -m udp --sport 67:68 --dport 67:68 -j ACCEPT
[0:0] -A INPUT -i eth1 -p udp -m udp --sport 67:68 --dport 67:68 -j ACCEPT
[0:0] -A INPUT -i lo -j ACCEPT
[0:0] -A INPUT -p tcp -m tcp --dport 0:1023 --tcp-flags SYN,RST,ACK SYN -j REJECT --reject-with icmp-proto-unreachable
[0:0] -A INPUT -p tcp -m tcp --dport 2049 --tcp-flags SYN,RST,ACK SYN -j REJECT --reject-with icmp-proto-unreachable
[0:0] -A INPUT -p udp -m udp --dport 0:1023 -j REJECT --reject-with icmp-proto-unreachable
[0:0] -A INPUT -p udp -m udp --dport 2049 -j REJECT --reject-with icmp-proto-unreachable
[0:0] -A INPUT -p tcp -m tcp --dport 6000:6009 --tcp-flags SYN,RST,ACK SYN -j REJECT --reject-with icmp-proto-unreachabl
e [0:0] -A INPUT -p tcp -m tcp --dport 7100 --tcp-flags SYN,RST,ACK SYN -j REJECT --reject-with icmp-proto-unreachable
COMMIT
# Completed on Wed Oct  3 04:17:36 2001
 마지막을 재부팅하면 iptables가 뜹니다.
당연히 좀더 자세한 자료들은 kldp.org나 oops.org를 참고하시고...--ICQ#: 103231199
이름
암호
  목록보기 윗글 아랫글
글쓰기
답장쓰기 수정 삭제
정규표현식 [ 상세 검색 ]
페이지로딩: [ 0.49 초 ] 작업시간: [ 0.02 초 ]

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved
[TOP]

적수네 동네
+
| 적수네 동네
| 공부방
| 리눅스 잡지 서고
| LSN 소스
| 링크 모음
+---+
게시판
+
| 떠들어보세!
| 질문과 답변
| 새소식과 정보
| 1원짜리 팁?
| 대화방
+---+
칼럼?
+
| 세하 훔쳐보기
| Welcome2nite
| 혜진의 염장판
+---+
리눅스 상표권
+
| 반대 서명란
| 토론 게시판
+---+
GNU
+
| GNU 선언문
| GNU GPL
| GNU 미러 목록
+---+
프로젝트?
+
| 리눅스카운터
| RC5DES
| 실질헌법 제작
+---+
커널 소식
+
| 안정 버젼: 2.4.14
+---+
테마 선택
+
LSN 방송국?
+
| OFF AIR
+---+
회원
+
| 로그인
+---+
[ 적수네 동네 ] [ 리눅스 상표권 독점 반대 ] [ 한글 리눅스 문서 프로젝트 ] [ KrLine ] [ 사랑넷 ] [ Valid HTML 4.0! ] [ SlashDot ] [ Freshmeat ]
Copyleft (C) 1998-2001 Byeong-Chan Kim . License
TIME: 1791055925
System by WYZsoft, HDD by I.O.Linux, Mizi Research, Embryo, WOWLINUX, Domain by SarangNet, Network by KrLine.