yeonghoon.kim

  • 게시판
  • 갤러리
  • aws

iptables ip 포워딩

김영훈 2023.08.17 17:48 조회 수 : 309

iptables -t nat -A PREROUTING -m set --match-set KR_ZONE src -p tcp --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -m set --match-set JP_ZONE src -p tcp --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -m set --match-set US_ZONE src -p tcp --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -m set --match-set KR_ZONE src -p tcp --dport 443 -j ACCEPT
iptables -t nat -A PREROUTING -m set --match-set JP_ZONE src -p tcp --dport 443 -j ACCEPT
iptables -t nat -A PREROUTING -m set --match-set US_ZONE src -p tcp --dport 443 -j ACCEPT
iptables -t nat -A PREROUTING --source 0/0 -p tcp --dport 80 -j DNAT --to-destination 10.0.0.1:80
iptables -t nat -A PREROUTING --source 0/0 -p tcp --dport 443 -j DNAT --to-destination 10.0.0.1:443
iptables -t nat -A POSTROUTING -j MASQUERADE


  • 추천 0

  • 비추천 0
이 게시물을
목록

댓글 1

  • 김영훈

    2023.08.17 17:49

    위의 iptables 룰셋은 Linux 시스템에서 네트워크 패킷을 다루는 규칙들을 설정하는 것으로, 주로 네트워크 트래픽을 제어하거나 변경하기 위해 사용됩니다. 주어진 룰셋은 네트워크 주소 변환(NAT)과 관련된 규칙들로 구성되어 있습니다. 각 규칙이 하는 일에 대해 하나씩 설명해보겠습니다.

     

    1. KR_ZONE, JP_ZONE, US_ZONE이라는 세트(set)들로부터 특정 소스 주소의 TCP 80 포트로 들어오는 트래픽을 허용하는 규칙입니다.
       - `-t nat -A PREROUTING`: PREROUTING 체인에서 동작하는 규칙으로, 들어오는 트래픽이 라우팅되기 전에 실행됩니다.
       - `-m set --match-set ZONE src`: 특정 세트에 속하는 소스 주소를 가진 패킷을 매치합니다.
       - `-p tcp --dport 80`: TCP 프로토콜의 80번 포트(웹 서버의 기본 포트)로 들어오는 패킷을 매치합니다.
       - `-j ACCEPT`: 매치되는 패킷을 ACCEPT하며, 허용합니다.

     

    2. 위의 1번 규칙과 비슷하게, JP_ZONE, US_ZONE 세트로부터 오는 트래픽도 TCP 80 포트에서 허용합니다.

     

    3. KR_ZONE, JP_ZONE, US_ZONE 세트로부터 특정 소스 주소의 TCP 443 포트로 들어오는 트래픽을 허용하는 규칙입니다. (HTTPS 트래픽을 위한 것입니다.)

     

    4. 위의 3번 규칙과 비슷하게, JP_ZONE, US_ZONE 세트로부터 오는 트래픽도 TCP 443 포트에서 허용합니다.

     

    5. 모든 소스 주소로부터 TCP 80 포트로 들어오는 트래픽을 DNAT를 통해 특정 내부 주소와 포트로 리디렉션합니다.
       - `-t nat -A PREROUTING`: PREROUTING 체인에서 동작하는 규칙입니다.
       - `--source 0/0`: 모든 소스 주소를 의미합니다.
       - `-p tcp --dport 80`: TCP 80 포트로 들어오는 패킷을 매치합니다.
       - `-j DNAT --to-destination 10.0.0.1:80`: DNAT를 통해 패킷의 대상 주소와 포트를 내부 주소 10.0.0.1의 80번 포트로 변경합니다.

     

    6. 위의 5번 규칙과 비슷하게, 모든 소스 주소로부터 TCP 443 포트로 들어오는 트래픽도 10.0.0.1의 443번 포트로 리디렉션합니다.

     

    7. POSTROUTING 체인에서 MASQUERADE를 통해 내부 네트워크에서 나가는 패킷의 소스 주소를 외부 인터페이스의 주소로 변환합니다.
       - `-t nat -A POSTROUTING`: POSTROUTING 체인에서 동작하는 규칙입니다.
       - `-j MASQUERADE`: 패킷의 소스 주소를 외부 인터페이스의 주소로 변환하여 인터넷에 나가는 패킷을 처리합니다.

     

    이러한 룰셋은 주로 방화벽과 NAT 기능을 통해 내부 네트워크에서 외부로 나가는 트래픽을 관리하고 허용하는 데 사용됩니다.

    추천0 비추천0 댓글

사진 및 파일 첨부

여기에 파일을 끌어 놓거나 왼쪽의 버튼을 클릭하세요.

파일 용량 제한 : 0MB (허용 확장자 : *.*)

업로드 중... (0%)

0개 첨부 됨 ( / )
 
번호 제목 글쓴이 날짜 조회 수
공지 2025 일본 여행 계획 김영훈 2024.10.10 985
공지 현금, 저축, 투자, 지출, 예산, 보험 내역(2024-05-30) 김영훈 2024.03.10 638
245 rocky linux 9 - init_script.sh 김영훈 2023.12.08 399
244 자바스크립트 화살표 함수 김영훈 2023.10.06 366
243 sar bash 스크립트 [1] 김영훈 2023.09.05 425
242 ELK Stack 테스트 [1] 김영훈 2023.08.30 322
241 CentOS7 php 7.4 + composer 설치 김영훈 2023.08.18 526
» iptables ip 포워딩 [1] 김영훈 2023.08.17 309
239 삼성 스마트태그 배터리 - CR2032 김영훈 2023.08.15 279
238 geoip2 python [1] 김영훈 2023.08.10 331
237 pyapns_client 동시에 여러 기기로 푸시 보내기 김영훈 2023.08.03 393
236 2학기 수강신청 김영훈 2023.08.01 297
235 let's encrypt 와일드카드 인증서 발급 (CentOS7) [2] 김영훈 2023.07.26 580
234 FCM 푸시보내기 - firebase_admin 김영훈 2023.07.20 300
233 FCM 푸시 보내기 - pyfcm 김영훈 2023.07.20 341
232 rockylinux kvm [1] 김영훈 2023.07.12 331
231 SAP_1. Identity & Federation Section 김영훈 2023.06.13 278
230 [Bard] node.js forever 사용법 알려줘 김영훈 2023.05.18 305
229 Sectigo PositiveSSL 신청 시 파일 - 20230512 기준 [1] file 김영훈 2023.05.12 333
228 데이터베이스 3주차 실습 김영훈 2023.03.19 341
227 python csv 파일 읽은 후 엑셀 파일로 저장 샘플 김영훈 2023.03.16 372
226 데이터베이스 2주차 - 실습 김영훈 2023.03.08 325
쓰기 태그
 첫 페이지 1 2 3 4 5 6 7 8 9 10 끝 페이지