[Linux] iptables를 사용한 포트 포워드
iptables를 사용한 포트 포워드
iptables는 시스템 관리자가 리눅스 커널 방화벽이 제공하는 테이블들과 그것을 저장하는 체인, 규칙들을 구성할 수 있게 해주는 사용자 공간 응용 프로그램입니다.
iptables를 이용해서 bastion host에 포트 포워딩 설정이 가능합니다.
Bastion Host 란 보안을 위해 만들어진 Host로 외부 네트워크와 내부 네트워크 사이에서 일종의 게이트웨이 역할을 수행하는 호스트를 말합니다
인스턴스에 접속해서 패킷 포워딩을 먼저 활성화를 해보겠습니다 .
2. 패킷 포워딩 활성화
# sysctl -w net.ipv4.ip_forward=1
이후 서버 재시작 시에도 적용될 수 있도록 “/etc/sysctl.conf” 파일 내용을 수정합니다.
맨 아래 행에 다음 행을 추가합니다 .
# net.ipv4.conf.default.rp_filter = 1
3. MASQUEERADE any 설정하기
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
4. iptables NAT 테이블 추가하기
# iptables -t nat -A PREROUTING -p tcp --dport [포트번호] -j DNAT --to-[destination 대상_ip:22]
도메인이름을 대상 ip 로 설정 할 수 없기 때문에 도메인으로 엔드포인트를 제공하는 서비스인 RDS의 경우 RDS를 nslookup 하여 반환되는 IP를 iptables의 destination으로 지정해야 합니다 .
4. iptables 저장
# service iptables save
5. 확인
# iptables -t nat -D preRouting 1
6. 설정된 iptables 상태 저장하기
# iptables-save > /home/iptable.config
댓글
댓글 쓰기