안녕하세요. 포트포워드 구성에 문제가 있어 문의드립니다.
먼저 현재 구성 상태를 설명드리면 다음과 같습니다.
외부망
|
IPTIME 공유기
|
| ------------------------------------------
| | | |
PC(유선) 장치A(유선) 장치B(무선) 안드로이드폰(무선)
일반적인 사용에는 이상이 없는데 장치A와의 연결에 의아한 부분이 있습니다.
장치A는 USB랜카드를 통해 연결되어 있는 임베디드 리눅스 기기입니다.
여기에 소켓 서버 프로그램을 올려서 테스트를 하고 있는데 장치A가 공유기 망 내 연결이 아니면 접속이 안 되는 문제가 있습니다. 같은 서버 프로그램을 PC 가상 환경에 실행시키고, 포트포워드 설정을 PC 주소로 변경했을 때에는 외부에서의 접속도 문제가 없었는데, 포트포워드 설정을 장치A 주소로 지정하여 다시 테스트하면 연결이 불가능했습니다.
다음은 몇 가지 테스트 결과입니다.
안드로이드 (LTE 외부망) --> 공인IP주소 --> 공유기 --> PC --> PC가상머신 서버 [OK]
안드로이드 (LTE 외부망) --> 공인IP주소 --> 공유기 --> 장치A 서버 [FAIL]
안드로이드 (내부망) --> 공인IP주소 --> 공유기 --> 장치A 서버 [OK]
장치B (내부망) --> 공인IP주소 --> 공유기 --> PC --> PC가상머신 서버 [OK]
장치B (내부망) --> 공인IP주소 --> 공유기 --> 장치A 서버 [OK]
포트포워드 주소 설정이 제대로 되었는지는 여러번 확인 했습니다.
공유기의 내부 네트워크 상태는 다음과 같습니다.
===========================================================================
내부 IP주소 192.168.20.10
DHCP 서버 상태 DHCP 서버 동작 중
동적 IP 할당 범위 192.168.20.1 - 192.168.20.254
===========================================================================
포트포워드 설정은 다음과 같습니다(일부분). 장치A의 주소는 .30입니다.
===========================================================================
1 desktop-http 192.168.20.2 TCP(80) TCP(80)
2 json 192.168.20.30 TCP(12313) TCP(12313)
3 json2 192.168.20.30 TCP(12311) TCP(12311)
4 virtualBox-1 192.168.20.2 TCP(12312) TCP(12312)
===========================================================================
장치A의 네트워크 상태는 다음과 같습니다.
===========================================================================
# ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:E0:4B:68:BC:DD
inet addr:192.168.20.30 Bcast:192.168.20.255 Mask:255.255.255.0
inet6 addr: fe80::2e0:4bff:fe68:bcdd/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:6635 errors:0 dropped:14 overruns:0 frame:0
TX packets:2395 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:461765 (450.9 KiB) TX bytes:545969 (533.1 KiB)
ip6tnl0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
NOARP MTU:1452 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:4 errors:0 dropped:0 overruns:0 frame:0
TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:276 (276.0 B) TX bytes:276 (276.0 B)
sit0 Link encap:IPv6-in-IPv4
NOARP MTU:1480 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
===========================================================================
장치A의 포트 상태는 다음과 같습니다.
===========================================================================
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:12313 0.0.0.0:* LISTEN 589/json_receiver
tcp 0 0 :::23 :::* LISTEN 300/telnetd
===========================================================================
일반 ping 테스트 결과입니다.
===========================================================================
# ping 192.168.20.2 -w 2 -q
PING 192.168.20.2 (192.168.20.2): 56 data bytes
--- 192.168.20.2 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.813/0.860/0.908 ms
===========================================================================
# ping 192.168.20.10 -w 2 -q
PING 192.168.20.10 (192.168.20.10): 56 data bytes
--- 192.168.20.10 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.877/0.898/0.919 ms
===========================================================================
# ping 8.8.8.8 -w 2 -q
PING 8.8.8.8 (8.8.8.8): 56 data bytes
ping: sendto: Network is unreachable
===========================================================================
제가 리눅스를 잘 모르기 때문에 확신할 순 없으나 일반 ping 명령을 보냈을 때에도 외부 네트워크에 대해 연결이 실패하는 것을 보면 장치A의 호스트 설정 등을 바꿔야 하는 것일 수도 있습니다.
혹시 해결 방법을 아시면 도움을 부탁드립니다.
감사합니다.
[2018-01-11 15:58:48] |