iptables를 이용한 외부 호출 redirect
안녕하세요. iptables에 대한 지식이 얕아서 질문을 하고자 합니다.
Linux 서버에서 프로그램을 만들어서 외부 SAP와 통신을 하고 있는데, 해당 서버와는 site to site vpn으로 연결이 되어 있습니다. 그런데 tcpdump 로 보면 특정포트 A(3601)는 site to site vpn으로 연결된 상대 private 대역으로 잘 호출하는데, 특정포트 B/C(3200/3300)는 public 대역으로 호출을 하고 있습니다. sap 라이브러리를 직접 이용한게 아니라 다른 곳에서 framework로 만든걸 그대로 이용중인지라 왜 이런 현상이 나타나는지 파악이 어려운 상황입니다.
그래서 해당 서버의 iptables를 이용해 (public ip):(3200 or 3300)을 (private ip):(3200 or 3300)으로 우회를 하고자 하는데,
- iptables로 처리할 수 있을까요?
- 어떤 식으로 설정을 해야할까요? 서버 재시작 시에도 적용하기 위해서 iptables 설정파일에도 등록하고자 합니다.
iptables에 대해서 지식이 있는 분들의 도움을 부탁드립니다.
읽어주셔서 고맙습니다.
1등
WeetLies 2024.03.25. 10:56
1. iptables 에서 DNAT 설정을 하시면 될거 같습니다.
2. 이곳에서 참고하시면 될꺼같습니다. (https://salguworld.tistory.com/entry/%EC%A0%95%EB%B3%B4%EB%B3%B4%EC%95%88%EA%B8%B0%EC%82%AC-iptables%EC%9D%98-SNAT-DNAT-%ED%99%9C%EC%9A%A9-1 )
2. 이곳에서 참고하시면 될꺼같습니다. (https://salguworld.tistory.com/entry/%EC%A0%95%EB%B3%B4%EB%B3%B4%EC%95%88%EA%B8%B0%EC%82%AC-iptables%EC%9D%98-SNAT-DNAT-%ED%99%9C%EC%9A%A9-1 )
WeetLies
조언 고맙습니다.
2등
neidn 2024.03.25. 12:16
iptables -t nat -A OUTPUT -p tcp -d [public_ip] --dport 3200 -j DNAT --to-destination [private_ip]:3200
이런식으로 nat 테이블에서 output 체인을 사용해도 될것 같아요
이런식으로 nat 테이블에서 output 체인을 사용해도 될것 같아요
neidn
고맙습니다. 해당 설정으로 해서 잘 되는걸 확인했고, iptables-services 설치해서 iptables-save 로 설정파일 추출해서 영구적용 하면 될 것 같습니다.
cmt alert