Linux에서의 iptables 방화벽 관리 방법
5809 단어 rhcsa
Linux에서의 iptables 방화벽 관리 방법
기사 목록
1. iptables란 무엇입니까?
IPTABLES는 최신 3.5버전 Linux 커널과 통합된 IP 패키지 필터링 시스템입니다. 만약에 Linux 시스템이 인터넷이나 LAN, 서버 또는 LAN과 인터넷을 연결하는 프록시 서버에 연결된다면 이 시스템은 Linux 시스템에서 IP 패키지 필터링과 방화벽을 더욱 잘 제어하고 데이터 패키지 필터링 결정을 할 때 따르고 구성된 규칙을 가지고 있습니다.이러한 규칙은 전용 패키지 필터 테이블에 저장됩니다. 이 테이블들은 Linux 커널에 통합되어 패키지 필터 테이블에 있습니다. 규칙은 체인(chain)에 그룹화되어 있습니다. 넷필터/iptables IP 패키지 필터 시스템은 기능이 강한 도구입니다. 규칙을 추가, 편집, 제거할 수 있습니다. 넷필터/iptables IP 패키지 필터 시스템은 단일 실체라고 불리지만.그러나 실제로는 두 개의 구성 요소인 넷filter와 iptables로 구성된 넷filter 구성 요소는 커널 공간(kernelspace)이라고도 부른다. 커널의 일부분은 일부 패키지 필터표로 구성된다. 이 테이블은 패키지 필터 처리를 제어하는 규칙 집합인 iptables 구성 요소를 포함하고 사용자 공간(userspace)이라고도 부른다. 삽입,패키지 필터링 테이블의 규칙을 수정하고 제거하는 것은 Red Hat Linux 7.1 이상 버전을 사용하고 있지 않으면 도구를 다운로드하여 설치해야 합니다.
2.iptables 명령 매개변수
매개 변수
기능
-t
테이블 이름 지정
-n
해석하지 않다
-L
지정된 테이블의 정책을 나열합니다.
-A
추가 정책
-p
네트워크 프로토콜
--dport
포트
-s
데이터 소스
-j
동작: ACCEPT 허용;REJECT 거부;DROP 폐기
-N
체인 추가
-E
체인 이름 수정
-X
체인 삭제
-D
지정된 정책 삭제
-I
삽입
-R
정책 수정
-P
기본 정책 수정
3.iptables 정책
실험 환경:
systemctl stop firewalld # firewalld
systemctl start iptables # iptables
정책 보기:
iptables -nL # , ( filter )
iptablde -L # , ( filter )
iptables -t filter -nL # filter ,
iptables -t nat -nL # nat
iptables -t mangle -nL # mangle
정책 삭제:
iptables -F #
service iptables save # /etc/sysconfig/iptables
정책 구성:
iptables -t filter -A INPUT -i lo -j ACCEPT # lo INPUT
iptables -nL #
iptables -D INPUT 1 # INPUT
iptables -t filter -A INPUT -s 172.25.254.1 -j ACCEPT # ip
iptables -t filter -A INPUT -s 172.25.254.1 -j REJECT # ip
iptables -R INPUT 2 -S 172.25.254.1 -j REJECT # ( INPUT , )
iptables -I INPUT 2 -s 172.25.254.1 -p tcp --dport 22 -j ACCEPT # ( INPUT , ip 22 tcp )
iptables -P INPUT DROP # INPUT DROP
iptables -P INPUT ACCEPT # INPUT ACCEPT
iptables -N nigar # nigar
iptables -E nigar NIGAR # (nigar---NIGAR)
iptables -X NIGAR # NIGAR
4. iptables 주소 전달
주소 전송 과정은 사실 외부 네트워크가 내부 네트워크에 접근할 때 내부 네트워크의 실제 주소를 모르고 주소 전송 기능으로 이를 실제 주소로 전송하는 것이다
:
:nigar:172.25.254.36
:
server1 eth0:172.25.254.1 eth1:1.1.1.11
server2 ech0:1.1.1.22 :1.1.1.11
주소 전달 기능 추가:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 22 -j DNAT --to-dest 1.1.1.22:22
iptables -t nat -nL #
참고:
PREROUTING (PREROUTING )
-i(input)
-p( ) tcp
--dport 22 ( )
-j DNAT ( ip )
--to-dest 1.1.1.22:22( )
테스트: 진정한 니가
ssh [email protected]
로 서버1을 연결하고 실제 연결은 서버2입니다.5.iptables 포트 위장
포트 위장 과정은 간단하게 말하면 로컬 호스트가 외부 네트워크에 접근해야 할 때 위장 기능을 켜서 데이터 패키지의 내부 네트워크 소스 IP를 외부 네트워크 IP로 변환하는 것이다
:
:nigar:172.25.254.36
:
server1 eth0:172.25.254.1 eth1:1.1.1.11
server2 ech0:1.1.1.22 :1.1.1.11
포트 위장 기능 켜기:
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 172.25.254.1
iptables -t nat -nL
참고:
POSTROUTING (POSTROUTING )
-o(output)
-j SNAT ( ip )
--to-source 172.25.254.1( 172.25.254.1 )
테스트: 진기nigar
ping 1.1.1.22
를 사용할 때 위조 기능을 시작하기 전에 데이터 패키지가 도착하지 못하고ping이 통하지 않습니다.위조 기능 오픈 후 ping 패스 성공