Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 도커
- SpringBoot
- LeetCode
- LLaMa
- 생성형
- 오픈시프트
- 솔루션조사
- vue.js
- POD
- Machine Learning
- BFS
- fast api
- 컨설팅
- 메세지큐
- 머신러닝
- 리트코드
- fastapi
- OpenShift
- 생성형 AI
- kubernetes
- Python
- Docker
- jpa
- vuejs
- Redis
- 로깅
- 컨설턴트
- k8s
- GPT
- 쿠버네티스
Archives
- Today
- Total
수 많은 우문은 현답을 만든다
폐쇄망과 인터넷간 네트워크 연결 설정 본문
안녕하세요 조영호입니다.
오늘은 고객사와 제 회사간의 네트워크를 전용선으로 연결했던 경험에 대해 소개하고자 합니다.
구분 | 출발지 | SNAT | DNAT | 도착지 |
고객사 | 10.10.10.123 (폐쇄망) | 192.168.10.123 | 192.168.128.1 | |
내회사 | 192.168.128.456 | 192.168.128.2 |
서비스 환경을 먼저 설명드리자면,
고객사는 내부망(폐쇄망)을 사용하고 있었고 내부망에 구축한 JAVA 서비스에서 제 회사로 API 요청을 보내야하는 상황이었습니다. 우선, 사설 IP를 사용하고있는 고객사에서는 NAT 변환을 통해 사설 IP <-> 공인 IP의 연결 구간을 준비했고 제 회사는 외부망 용 로드밸런서를 통해 서비스를 제공하고자 했습니다.
위에서 사용한 개념들에 대한 설명입니다.
- 사설 IP : 인터넷이 되지 않는 회사 내부의 네트워크망 IP
- 공인 IP : 인터넷이 되는 범용 네트워크망 IP
- NAT : Network Adress Translation 으로 인터넷 주소를 번역하는 역할을 한다. 위 경우 사설 IP를 공인 IP로 변환한다.
- SNAT : Source NAT 로 고객사 쪽에서 사설IP를 공인IP로 변환해주는 역할을 한다.
- DNAT : Destination NAT는 위 경우 내 회사의 로드밸런서 IP로, 내부 여러 도착지로 로드밸런싱 하는용도로 쓰였다.
자 이제 각 목적에 필요한 IP들이 준비되었고, 서로에 대한 연결이 아래와같이 완료되었다면 이제 점검을 해봐야겠죠.
1. 사내에서 대외사로의 연결 및 포트 오픈이 잘 되었는지 확인하는 방법
$ curl -v telnet://ip:port
2. 호출이 되지 않는다면 어느 구간에서 막혔는지 확인하는 방법
$ traceroute [도메인명 혹은 IP주소]
2-1) 정상적으로 연결된 경우
[root@localhost /]# traceroute google.co.kr
traceroute to google.co.kr (173.194.127.184), 30 hops max, 60 byte packets
1 192.168.1.1 (192.168.1.1) 4.704 ms 4.127 ms 3.741 ms
2 10.18.158.217 (10.18.158.217) 4.016 ms 6.147 ms 5.876 ms
3 203.248.238.41 (203.248.238.41) 5.754 ms 6.465 ms 6.352 ms
ㆍ
ㆍ
ㆍ
13 209.85.241.58 (209.85.241.58) 56.625 ms 47.623 ms 74.772 ms
14 209.85.241.169 (209.85.241.169) 48.570 ms 44.503 ms 42.154 ms
15 hkg03s14-in-f24.1e100.net (173.194.127.184) 89.599 ms 66.850 ms 67.568 ms
2-2) 연결이 되지 않는 경우
[root@localhost /]# traceroute 125.209.222.141
traceroute to 125.209.222.141 (125.209.222.141), 30 hops max, 60 byte packets
1 192.168.1.1 (192.168.1.1) 2.567 ms 4.525 ms 5.397 ms
2 10.19.224.109 (10.19.224.109) 5.923 ms 8.809 ms 8.729 ms
3 1.213.28.81 (1.213.28.81) 8.623 ms 7.940 ms 7.817 ms
ㆍ
ㆍ
ㆍ
28 * * *
29 * * *
30 * * *
위와같은 경우, 마지막에 * * * 으로 연결이 끝나지 않는 것은 연결이 목적지까지 도착하지 못했다는 것을 의미합니다.
그리고 3번 구간에서 마지막으로 패킷 로그가 찍혔는데, 여기에서 다음 구간으로 나가는 병목을 살펴보면 문제를 해결할 수 있습니다.
감사합니다.
'개발지식 > Network' 카테고리의 다른 글
High Performance Browser Networking (0) | 2023.06.12 |
---|---|
Trade Off & Network Delay (0) | 2023.06.12 |
L4 / L7 로드밸런서 차이점 (Load balancer) (0) | 2022.06.14 |
VIP (Virtual IP) (0) | 2022.06.14 |