Cisco IOS NAT에서 다양한 TCP 포트 열기


13
ip nat inside source static 192.168.1.10 10.10.10.9 route-map RANGE
!
route-map RANGE permit 100
  match ip address 102
!
access-list 102 permit tcp host 192.168.1.10 range 3000 3389 any

구성이 작동하지 않는 것 같습니다. 일대일 정적 NAT 만 생성하면됩니다.

포트 범위를 여는 방법을 아는 사람이 있습니까?

외부 IP가 여러 개인데 여러 외부 IP를 사용하는 여러 호스트에 대해 동일한 포트를 열려고하므로 회전 방식이 작동하지 않습니다.


외부 인터페이스에서 ACL 또는 방화벽 규칙을 확인하는 것을 잊지 마십시오!
knotseh

어떤 대답이 도움이 되었습니까? 그렇다면 질문에 대한 답변이 계속 나오지 않도록 답변을 수락해야합니다. 또는 자신의 답변을 제공하고 수락 할 수 있습니다.
Ron Maupin

답변:


9

(편집하다)

아래 답변에서 볼 수 있듯이 내부-> 외부가 예상대로 작동하는 것처럼 보이지만 외부-> 내부는 실제로 그렇지는 않지만 OP가 제안한대로 모든 것을 허용합니다.

NAT 라인에 '가역'을 추가하면 외부-> 내부의 경로 맵을 준수하기 시작하지만 불행히도 포트와 작동하지 않는 것 같습니다.

  1. ip 모든 호스트 허용 194.100.7.226 작동
  2. 모든 작품을 TCP로 허용
  3. tcp 어떤 eq 80 도 일치하지 않습니다, 작동하지 않습니다
  4. tcp 모든 eq 80 일치를 허용하고 작동하지 않습니다
  5. tcp 모든 eq 80 호스트 194.100.7.226 일치를 허용하고 작동하지 않습니다
  6. tcp 모든 eq 0 호스트 허용 194.100.7.226 작동

'194.100.7.226'에서 나는 'telnet 91.198.120.222 80'을하고 있습니다. 즉, 내 소스는 194.100.7.226입니다 : 임시 대상은 91.198.120.222:80입니다. 예제 # 1이 작동 함에 따라, 리버시블이 실제로 ACL을 '반전' 한다고 결론 지을 수 있으며 , 이는 양방향으로 동일한 방식으로 작동합니다.

연결이 일치하지만 작동하지 않으면 '로그 입력 줄을 거부하십시오.

7 월 7 일 07 : 58 : 59.118 UTC : % SEC-6-IPACCESSLOGP : list MOO denied tcp 91.198.120.2 (0) (Tunnel101)-> 194.100.7.226 (0), 1 패킷

따라서 실제로 L4 프로토콜 유형이 전송되는 것처럼 보이지만 NAT 반전 중에는 포트가 전송되지 않습니다. 따라서 외부-> 내부 범위는 작동하지 않습니다.


질문 Cisco 867 전달 UDP 포트 범위 에서 제안한 것처럼 외부-> 내부에서 작동합니다.

ip nat pool MOO 91.198.120.2 91.198.120.2 prefix-length 30 type rotary
ip nat inside destination list MOO pool MOO
ip access-list extended MOO
 permit tcp any any range 22 100
 deny   ip any any log-input

외부 IP를 잘 제어하지 못하기 때문에 약간 빈민가입니다. 풀은 내부 IP이고 외부 IP는 라우터 외부 IP입니다.


포트 내부 및 외부 작업의 원래 답변 :

ip nat inside source static 91.198.120.2 91.198.120.222 route-map MOO
!
ip access-list extended MOO
 permit icmp any any
 permit tcp any any range 22 telnet
!
route-map MOO permit 100
 match ip address MOO
!
route-map MOO deny 200
!

@ 91.198.120.2 내가하고있는 일 :

  • 텔넷 테스트 호스트 22
  • 텔넷 테스트 호스트 23
  • 텔넷 테스트 호스트 24

testhost에서 나는 볼 수 있습니다 :

1   0.000000 91.198.120.222 -> 194.100.7.226 TCP 74 50925 > ssh [SYN] Seq=0 Win=14600 Len=0 MSS=1350 SACK_PERM=1 TSval=7995067 TSecr=0 WS=128

2   9.838471 91.198.120.222 -> 194.100.7.226 TCP 74 41586 > telnet [SYN] Seq=0 Win=14600 Len=0 MSS=1350 SACK_PERM=1 TSval=7997586 TSecr=0 WS=128

5  16.773181 91.198.120.2 -> 194.100.7.226 TCP 74 53307 > 24 [SYN] Seq=0 Win=14600 Len=0 MSS=1350 SACK_PERM=1 TSval=7999327 TSecr=0 WS=128

에 테스트 :

bu.ip.fi#sh ver | i ^Cisco
Cisco IOS Software, C880 Software (C880DATA-UNIVERSALK9-M), Version 15.1(2)T5, RELEASE SOFTWARE (fc1)
Cisco 881G (MPC8300) processor (revision 1.0) with 236544K/25600K bytes of memory.
bu.ip.fi#

1

그래서 내가 한 일을 해결하기 위해

ip nat inside source static 91.198.120.2 91.198.120.222 route-map MOO
!
ip access-list extended MOO
 permit icmp any any
 permit tcp any any range 22 telnet
!
route-map MOO permit 100
 match ip address MOO
!

외부 인터페이스에 액세스 목록 199도 포함 시켰습니다.

access-list 199 permit tcp any host external_host eq 3389
access-list 199 deny   ip any host external_host

이 액세스 목록은 모든 포트 문제 허용을 처리합니다.


OP가 외부 n1-n2를 host1로, 외부 n3-n4를 host2로 보내려고했기 때문에 걱정했습니다. L4 포트가 위의 예에서 작동 해야하는지, 버그 또는 의도 된 동작, 특히 '표준'ACL이 아니기 때문에 UDP와 TCP를 구별하므로 포트는 '0'입니다.
ytti

라우트 맵을 사용하여 포트 3389를 매핑하여 90001을 말할 수있는 방법
luna
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.