พอร์ตการส่งต่อจากเครือข่ายภายในไปยังเครือข่ายภายใน (กิ๊บ NAT)


16

ฉันได้ตั้งค่าการส่งต่อพอร์ตบนเราเตอร์ Mikrotik เรียบร้อยแล้วซึ่งแปลทุกคำขอไปยังที่อยู่ IP WAN บนพอร์ต 8844 (สมมติว่า: 20.20.20.22:8844) ของ mikrotik เป็นที่อยู่ IP ท้องถิ่นและพอร์ตเดียวกัน

เนื่องจากฉันมีชื่อ DNS สำหรับที่อยู่ IP ของ WAN (20.20.20.22) ฉันต้องการให้กฎนี้ทำงานได้จากเครือข่ายภายใน:

192.168.111.77 -> 20.20.20.22:8844 -> 192.168.111.2:8844

ฉันพบหน้าเว็บ Mikrotik ที่อธิบายสถานการณ์นี้: http://wiki.mikrotik.com/wiki/Hairpin_NAT แต่ฉันไม่สามารถบรรลุเป้าหมายเดียวกันได้

นี่คือหน้าจอพิมพ์ของกฎ

ป้อนคำอธิบายรูปภาพที่นี่

มันเป็นเพียงหน้าจอบางส่วน แต่ทุกอย่างไม่ได้ตั้งค่าไว้ (ว่าง)

แก้ไข: กฎการส่งต่อพอร์ตและการปลอมแปลงแบบคลาสสิกบนเราเตอร์มีลักษณะดังนี้:

/ip firewall nat
add chain=dstnat in-interface=ether1-gateway protocol=tcp dst-port=8844 \
  action=dst-nat to-address=192.168.111.2 to-port=8844
add chain=srcnat out-interface=ether1-gateway action=masquerade

คำตอบ:


16

วิธีแก้ไขคือเขียนพอร์ตที่ส่งต่อไปยังกฎเพื่อไม่ใช้in-interface = ether1-gatewayแต่dst-address-type = local :

/ip firewall nat
add chain=dstnat dst-address-type=local protocol=tcp dst-port=8844 \
  action=dst-nat to-address=192.168.111.2 to-port=8844

จากนั้นเพิ่มกิ๊บ NAT ตามที่ระบุในโพสต์ต้นฉบับ:

/ip firewall nat
add chain=srcnat src-address=192.168.111.0/24 \
  dst-address=192.168.111.2 protocol=tcp dst-port=8844 \
  out-interface=bridge-local action=masquerade

ฉันไม่สามารถใช้งานได้หากใช้บริดจ์ ความคิดใด ๆ
pcunite

@ pcunite: เพิ่งทดสอบกับ RouterOS 6.24 + bridge-local และมันทำงานได้อย่างสมบูรณ์แบบ!
lifeofguenter

@JoudicekJouda ฉันยังตามคำแนะนำบนวิกิพีเดียwiki.mikrotik.com/wiki/Hairpin_NATแต่พวกเขาไม่เคยบอกว่าจะใช้DST-อยู่-type = ท้องถิ่นกฎการส่งต่อพอร์ตมากกว่าในอินเตอร์เฟซ = ether1 เกตเวย์ ทำไมฉันถึงสร้างความแตกต่าง
โจนาธานโคมาร์

0

Nat Masquerade 192.168.111.0/24 ถึง 192.168.111.0/24 สิ่งนี้ใช้ได้กับทุกบริการในครั้งเดียว ห้ามระบุอินเตอร์เฟสหรือพอร์ต พอร์ตภายในจะต้องเหมือนกับพอร์ตภายนอก


1
ยินดีต้อนรับสู่ Super User! คำตอบของคุณอาจได้รับการปรับปรุงให้ดีขึ้นโดยการให้รายละเอียดเพิ่มเติมเล็กน้อยเกี่ยวกับวิธีการนำไปใช้โดยเฉพาะอย่างยิ่งสำหรับผู้ที่อาจยังใหม่ต่อระบบที่เป็นปัญหา
ฉันพูดว่า Reinstate Monica
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.