반응형
목차
1. IP 포워딩이란?
IP 포워딩(IP Forwarding)은 리눅스 서버가 라우터처럼 패킷을 다른 네트워크로 전달할 수 있도록 하는 기능입니다.
예: VPN 서버 → 내부망 전달, 방화벽 서버 → 외부망 접속 등.
2. IP 포워딩 상태 확인
cat /proc/sys/net/ipv4/ip_forward
- 1 : IP 포워딩 활성화 (ON)
- 0 : IP 포워딩 비활성화 (OFF)
3. IP 포워딩 활성화 방법
(1) 임시 활성화 (재부팅 시 초기화됨)
sudo sysctl -w net.ipv4.ip_forward=1
(2) 영구 활성화
/etc/sysctl.conf 또는 /etc/sysctl.d/*.conf 파일에 추가:
net.ipv4.ip_forward = 1
변경 적용:
sudo sysctl -p
4. FORWARD 체인 상태 확인
IP 포워딩이 켜져 있어도, iptables FORWARD 체인 정책이 DROP이면 트래픽 전달이 불가합니다.
sudo iptables -L FORWARD -v -n
출력 예시:
Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
100 6000 ACCEPT all -- eth0 eth1 192.168.0.0/24 10.0.0.0/24
- policy : 기본 정책 (ACCEPT / DROP)
- pkts, bytes : 패킷/바이트 카운터
- in / out : 입력 / 출력 인터페이스
- source / destination : 소스 / 목적지 네트워크
5. FORWARD 규칙 추가 예시
# eth0 → eth1 허용
sudo iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
# eth1 → eth0 (연결된 세션만 허용)
sudo iptables -A FORWARD -i eth1 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
⚠️ 보안 주의: 무분별하게 모든 트래픽을 허용하면 위험합니다.
꼭 필요한 네트워크 대역만 허용하세요.
6. NAT(Postrouting) 규칙 확인
NAT 환경에서는 POSTROUTING 체인도 함께 확인해야 합니다.
sudo iptables -t nat -L POSTROUTING -v -n
예시:
Chain POSTROUTING (policy ACCEPT 100 packets, 6000 bytes)
pkts bytes target prot opt in out source destination
200 12000 MASQUERADE all -- * eth0 192.168.0.0/24 0.0.0.0/0
- MASQUERADE : 공인 IP로 변환
- SNAT : 특정 IP로 고정 변환
7. 스크립트 형식으로 규칙 보기
sudo iptables -S FORWARD
sudo iptables -t nat -S POSTROUTING
→ 설정 백업 및 재적용 시 유용
8. 보안 팁
- 불필요한 IP 포워딩은 꺼두기 (
net.ipv4.ip_forward = 0) - 허용 대역 최소화 (Least Privilege)
- 로깅(
-j LOG)으로 트래픽 모니터링 - NAT 시 내부망 IP 범위 명확히 지정
9. 결론
IP 포워딩과 FORWARD 체인 설정은 VPN, 라우터, 방화벽 구축에 필수적입니다.
그러나 보안 설정 없이 모든 트래픽을 허용하면 위험하므로 꼭 필요한 범위만 허용하세요.
💡 참고 자료
반응형
'LINUX' 카테고리의 다른 글
| sudo su 와 su의 차이점 (1) | 2025.01.03 |
|---|---|
| [linux] 시스템의 설정값 추적하기 (0) | 2024.12.31 |
| auditd 를통해 이벤트 발생의 원인 파악 (0) | 2024.12.31 |
| Sticky bit를 사용하는 이유가 뭘까? (0) | 2024.12.21 |
| [linux] Strace 에 대해 알아보자! (0) | 2024.12.16 |
댓글