Score:0

ส่งต่อการรับส่งข้อมูลภายนอกเฉพาะไปยังเซิร์ฟเวอร์ LAN

ธง cn

ฉันต้องการเปลี่ยนเส้นทางการรับส่งข้อมูลขาเข้าไปยังเซิร์ฟเวอร์ของฉัน ซึ่ง iptables ทำงานอยู่ ไปยังเซิร์ฟเวอร์อื่นใน LAN อย่างไรก็ตาม ฉันต้องการให้สิ่งนี้ทำงานเฉพาะในกรณีที่ทราฟฟิกขาเข้ามาจากที่อยู่ IP ภายนอกที่ระบุเท่านั้น มิฉะนั้นควรลดการจราจร

ผมขอยกตัวอย่างเพื่อชี้แจง:

  • IP ไคลเอนต์ภายนอก: 88.88.88.88
  • IP ของเซิร์ฟเวอร์ (ใน LAN เดียวกัน): 172.26.0.99
  • IP ปลายทาง (ใน LAN เดียวกัน): 172.26.0.11

ตัวอย่างการเปลี่ยนเส้นทาง

  1. ลูกค้า (88.88.88.88) เชื่อมต่อกับ IP ของเซิร์ฟเวอร์ (172.26.0.99)
  2. การจราจรถูกเจาะไปที่ IP ปลายทาง (172.26.0.11).

วางตัวอย่าง

  1. ลูกค้าแปลกหน้า (66.66.66.66) พยายามเชื่อมต่อกับ IP ของเซิร์ฟเวอร์ (172.26.0.99)
  2. การจราจรเป็น ลดลง
A.B avatar
cl flag
A.B
*เซิร์ฟเวอร์* เป็นเกตเวย์ของ *ปลายทาง* หรือไม่ ถ้าไม่ *ปลายทาง* จำเป็นต้องเห็น 88.88.88.88 เป็นแหล่งที่มาต่อไปหรือไม่
blacksoul avatar
cn flag
ไม่ใช่เกตเวย์ เนื่องจากเกตเวย์จะเป็นเราเตอร์ ISP ปลายทางไม่จำเป็นต้องเห็นต้นทาง 88.88.88.88 ต่อไป เพียงแค่ต้องไปถึงผ่านอุโมงค์ที่ฉันอธิบายไว้
djdomi avatar
za flag
มีเหตุผลอะไรที่เราพูดถึง lan และซ่อน ips? 10/8 172.16/16 และ 192.168/16 ไม่ได้กำหนดเส้นทางไปยังอินเทอร์เน็ต
blacksoul avatar
cn flag
ขอโทษนะ ฉันคิดว่ามันง่ายกว่าที่จะอ่านแบบนั้น ฉันจะอัปเดตคำถามโดยใช้ LAN IP จริงของฉัน
Score:1
ธง cm

ถ้าฉันเข้าใจถูกต้อง คุณต้องการส่งต่อ ทั้งหมด รับส่งข้อมูลจาก 88.88.88.88 ไปยังเซิร์ฟเวอร์ที่ได้รับการป้องกัน 172.26.0.11 นี่คือตัวอย่างการใช้ NAT:

sysctl net.ipv4.ip_forward=1

iptables -t nat -A PREROUTING -i <wan-if> -s 88.88.88.88 -j DNAT --to-destination 172.26.0.11
iptables -t nat -A POSTROUTING -s 88.88.88.88 -d 172.26.0.11 -j SNAT --to-source 172.26.0.99
iptables -A ไปข้างหน้า -s 88.88.88.88 -d 172.26.0.11 -j ยอมรับ

อีกวิธีหนึ่งคือ การส่งต่อตามพอร์ต ให้ใช้ ไอพีวีเอส หรือซ็อกเก็ต SystemD หรือ iptables -j เปลี่ยนเส้นทาง เพื่อตั้งค่าการส่งต่อและไฟร์วอลล์ของพอร์ต ตัวอย่างของ ipvs และ iptables:

sysctl net.ipv4.vs.conntrack=1

ipvsadm -A -t "172.26.0.99:<พอร์ต>" -s rr
ipvsadm -a -t "172.26.0.99:<พอร์ต>" -r "172.26.0.11:<พอร์ต>" -m

iptables -A INPUT -s 88.88.88.88 -j ACCEPT -m ความคิดเห็น --comment "อนุญาต 88.88.88.88"
iptables -A INPUT -j DROP -m comment --comment "Catch-all drop"
Martin avatar
kz flag
ฉันกำลังคิดที่จะเขียนคำตอบของตัวเอง แต่ตัดสินใจไม่ตอบ เพิ่ม SNAT ไปยังห่วงโซ่ POSTROUTING และตัวอย่างของคุณจะใช้งานได้: ```iptables -t nat -A POSTROUTING -s 88.88.88.88 -d 172.26.0.11 -j SNAT --to-source 172.26.0.99``` มิฉะนั้น การตอบกลับจากเซิร์ฟเวอร์ "ป้องกัน" จะใช้เส้นทางที่แตกต่างจากแพ็กเก็ตเริ่มต้น! และอย่าลืมเปิด ```ip_forwarding```...
cm flag
ขอบคุณ - อัปเดตคำตอบ
blacksoul avatar
cn flag
มันได้ผล ขอบคุณ! ฉันลองตัวอย่างแรกของคุณแล้ว

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา