เปิดช่วงของพอร์ต TCP ใน Cisco IOS NAT


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 ภายนอกหลายเครื่องและเนื่องจากวิธีการแบบหมุนไม่ทำงาน


อย่าลืมตรวจสอบ ACLs หรือกฎไฟร์วอลล์บนอินเตอร์เฟสภายนอกของคุณด้วย!
knotseh

คำตอบใดช่วยคุณได้บ้าง ถ้าเป็นเช่นนั้นคุณควรยอมรับคำตอบเพื่อที่คำถามจะไม่โผล่ขึ้นมาเรื่อย ๆ โดยมองหาคำตอบ หรือคุณสามารถให้และยอมรับคำตอบของคุณเอง
Ron Maupin

คำตอบ:


9

(แก้ไข)

ดูเหมือนว่าภายใน -> งานภายนอกเป็นไปตามที่คาดไว้ตามที่เห็นในคำตอบด้านล่าง แต่ข้างนอก -> ข้างในไม่ได้ช่วยให้ทุกอย่างตามที่แนะนำ

การเพิ่ม 'พลิกกลับได้' ในบรรทัด NAT มันเริ่มให้เกียรติเส้นทางแผนที่สำหรับภายนอก -> ข้างใน แต่น่าเสียดายที่ดูเหมือนจะไม่ทำงานกับพอร์ต:

  1. อนุญาตให้ ip โฮสต์ใด ๆ 194.100.7.226 ทำงาน
  2. อนุญาตให้ TCP ใดงาน
  3. อนุญาต tcp ใด ๆ eq 80 ที่ไม่ตรงกันไม่ทำงาน
  4. อนุญาต tcp ใด ๆ eq 80 การแข่งขันใด ๆไม่ทำงาน
  5. อนุญาต tcp ใด ๆ eq 80 host 194.100.7.226 ที่ตรงกันไม่ทำงาน
  6. อนุญาตให้ใช้ tcp ใด ๆ eq 0 โฮสต์ 194.100.7.226 ทำงาน

ที่ '194.100.7.226' ฉันกำลังทำ 'telnet 91.198.120.222 80' นั่นคือที่มาของฉันคือ เป็นตัวอย่างที่# 1งานเราสามารถสรุปได้ว่าย้อนกลับได้จริง 'ย้อนกลับ' ACL เพื่อให้มันทำงานในลักษณะเดียวกันทั้งสองทิศทางซึ่งทำให้รู้สึก

เมื่อการเชื่อมต่อที่ตรงกัน แต่ไม่ทำงานใน 'ปฏิเสธใด ๆ เข้าสายเข้าฉันได้รับนี้

.Jul 7 07: 58: 59.118 UTC:% SEC-6-IPACCESSLOGP: รายการ MOO ปฏิเสธ tcp 91.198.120.2 (0) (Tunnel101) -> 194.100.7.226 (0), 1 แพ็คเก็ต

ดังนั้นจึงดูเหมือนว่าชนิดของโปรโตคอล L4 นั้นถูกนำมาใช้ แต่พอร์ตจะไม่ถูกนำมาใช้ในระหว่างการกลับรายการ NAT ดังนั้นช่วงภายนอก -> ช่วงภายในจึงไม่ทำงาน


ตามที่แนะนำในคำถามช่วงพอร์ต Cisco 867 forward 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 ภายนอกที่ดี Pool เป็น 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 ฉันกำลังทำ:

  • เทลเน็ต testhost 22
  • telnet testhost 23
  • telnet testhost 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 ซึ่งจะแยก ACL ภายนอก ฉันสงสัยว่าพอร์ต L4 ควรทำงานในตัวอย่างด้านบนหรือไม่หากเป็นข้อผิดพลาดหรือพฤติกรรมที่ตั้งใจโดยเฉพาะอย่างยิ่งเมื่อเห็นได้ชัดว่าไม่ใช่ 'มาตรฐาน' ACL เนื่องจากมีความแตกต่างของ UDP และ TCP เพียงแค่พอร์ตเป็น '0'
ytti

คุณจะใช้เส้นทางแผนที่กับแผนที่พอร์ต 3389 เพื่อบอกว่า 90001 ได้อย่างไร
luna
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.