Score:0

กำหนดเส้นทางการรับส่งข้อมูลของเครื่องหนึ่งผ่านอุโมงค์ GRE ไปยัง NAT ระยะไกล

ธง vn

ฉันต้องแก้ปัญหาที่กลืนไม่เข้าคายไม่ออกต่อไปนี้ให้เพื่อนและคิดว่าฉันจะบันทึกวิธีที่เราทำที่นี่...

นี่คือสถานการณ์:

  • เครือข่ายบ้านของเขา 192.168.1.0/24 และตั้งอยู่หลังเราเตอร์ Linux ที่ทำงานแบบ NAT และมีที่อยู่ IP สาธารณะ อ.อ.อ. เราเตอร์ Linux รัน openSUSE 15.3
  • บนเครือข่ายในบ้านมีอุปกรณ์หนึ่งที่น่าสนใจที่อยู่ 192.168.1.17.
  • เขามีเครื่อง Linux ระยะไกลที่อยู่บนอินเทอร์เน็ตตามที่อยู่ บีบีบีบี. เครื่องนี้เป็นเซิร์ฟเวอร์โฮสต์และอาศัยอยู่ในส่วนอื่นของประเทศ เครื่องนี้ยังเรียกใช้ openSUSE 15.3

สิ่งที่เขาต้องการคือสำหรับทุกคน 192.168.1.17ทราฟฟิกที่จะกำหนดเส้นทางผ่านและ NAT โดยเครื่องระยะไกล บีบีบีบีแต่สำหรับเครื่องอื่นๆ ทั้งหมดในเครือข่ายในบ้านจะไม่ได้รับผลกระทบ (เช่น ยังคงกำหนดเส้นทางผ่านเราเตอร์ที่บ้าน อ.อ.อ เหมือนอย่างเคย).

ผลกระทบที่เกิดขึ้นกับโลกภายนอกทั้งหมด 192.168.1.17การจราจรของข้อมูลจะดูเหมือนว่ามาจาก บีบีบีบี แทน อ.อ.อ.

นี่คือเทียบเท่า NAT/เครือข่ายของ "โยนเสียงของคุณ" สำหรับเครื่องใดเครื่องหนึ่งบนเครือข่ายของคุณ

Score:0
ธง vn

นี่คือวิธีที่เราทำ

เราสร้างอุโมงค์ GRE ระหว่าง อ.อ.อ และ บีบีบีบี (อินเตอร์เฟซ เกรย์1 บนเซิร์ฟเวอร์ทั้งสอง) พร้อมที่อยู่ IP ของช่องสัญญาณแบบจุดต่อจุดภายใน 10.0.0.1 และ 10.0.0.2 (ตามลำดับ). โปรดทราบว่าไม่จำเป็นต้องมีการเข้ารหัสเนื่องจากแพ็กเก็ตในอุโมงค์จะถูกแกะและส่งผ่านอินเทอร์เน็ตตามที่เป็นอยู่

ต่อไปเราต้องกำหนดค่า บีบีบีบี การเปิดใช้งาน แนท บนอินเทอร์เฟซภายนอก eth0. สิ่งนี้ทำผ่าน ไฟร์วอลล์. จากนั้นเราต้องเพิ่มกฎที่กำหนดเอง ไฟร์วอลล์ เพื่อไม่ให้บล็อกแพ็กเก็ต GRE ที่เข้ามา เราใส่ เกรย์1 อินเทอร์เฟซใน ที่เชื่อถือ โซนเพื่อให้แพ็กเก็ตทั้งหมดที่เข้ามาในอุโมงค์ได้รับอนุญาต และจะได้รับ NAT'd

บนเครือข่ายในบ้าน เราตั้งค่าไว้แล้วผ่าน ไฟร์วอลล์ ในฐานะเราเตอร์ NAT ดังนั้นสิ่งเดียวที่ต้องทำคือ (a) สร้างอีกด้านของอุโมงค์ GRE และ (b) ทำให้ Linux เบี่ยงเบน 192.168.1.17ของการจราจรขาออกเข้าสู่อุโมงค์ ขั้นตอนสุดท้ายนี้เป็นส่วนที่ยุ่งยากเล็กน้อย

รายละเอียดด้านล่าง...

เปิดการตั้งค่า บีบีบีบี (เซิร์ฟเวอร์ระยะไกล)

เพิ่มอินเทอร์เฟซ เกรย์1:

    # /etc/sysconfig/network/ifcfg-gre1
    STARTMODE='เปิดเครื่อง'
    BOOTPROTO='คงที่'
    อุโมงค์='gre'
    TUNNEL_LOCAL_IPADDR='บีบีบีบี'
    TUNNEL_REMOTE_IPADDR='เอเอเอเอเอ'
    IPADDR='10.0.0.2'
    REMOTE_IPADDR='10.0.0.1'
    TUNNEL_TTL='64'
    ZONE = เชื่อถือได้

เพิ่มเส้นทางไปยังเครือข่ายในบ้านและด้านระยะไกลของลิงก์ P2P ผ่าน เกรย์1:

    # /etc/sysconfig/network/ifroute-gre1 
    # ตัวเลือกอินเทอร์เฟซ Netmask เกตเวย์ปลายทาง
    192.168.1.0/24 - - -
    10.0.0.1 - - -

กำหนดค่า ไฟร์วอลล์ ทาง ไฟร์วอลล์ yast2

  • ใส่อินเทอร์เฟซ eth0 ในโซน ภายนอก
  • ใส่อินเทอร์เฟซ เกรย์1 ในโซน ที่เชื่อถือ
  • เพิ่มกฎไฟร์วอลล์ที่กำหนดเองในโซน ภายนอก อนุญาตแพ็กเก็ต GRE ขาเข้าจาก อ.อ.อ
  • เพิ่มกฎไฟร์วอลล์ที่กำหนดเองเพื่อยึด TCP MSS กับทั้งสอง ภายนอก และ ที่เชื่อถือ โซน (ต้องการ ไฟร์วอลล์d >= 1.0.0)

ไฟล์โซนใน /etc/firewalld/โซน:

    # /etc/firewalld/zones/external.xml    
    <โซน>
        <short>ภายนอก</short>
        <ชื่อบริการ = "ssh"/>
        ...
        <สวมหน้ากาก/>
        <rule family="ipv4">
          <แหล่งที่มา =="A.A.A.A"/>
          <ยอมรับ/>
        </rule>
        <กฎ>
          <tcp-mss-clamp value="1420"/><!-- ต้องใช้ไฟร์วอลล์ >= 1.0.0 -->
        </rule>
        <ชื่ออินเทอร์เฟซ="eth0"/>
    </โซน>
    # /etc/firewalld/zones/trusted.xml    
    <โซนเป้าหมาย="ยอมรับ">
      <short>เชื่อถือได้</short>
      <description>ยอมรับการเชื่อมต่อเครือข่ายทั้งหมด</description>
      <กฎ>
          <tcp-mss-clamp value="1420"/><!-- ต้องใช้ไฟร์วอลล์ >= 1.0.0 -->
      </rule>
      <ชื่ออินเทอร์เฟซ="gre1"/>
    </โซน>

เปิดการตั้งค่า อ.อ.อ (เซิร์ฟเวอร์เครือข่ายในบ้าน)

นี้สันนิษฐานว่า อ.อ.อ ตั้งค่าเป็น NAT แล้ว 192.168.1.0/24 เครือข่าย ฯลฯ

เพิ่มอินเทอร์เฟซ เกรย์1:

    # /etc/sysconfig/network/ifcfg-gre1
    STARTMODE='เปิดเครื่อง'
    BOOTPROTO='คงที่'
    อุโมงค์='gre'
    TUNNEL_LOCAL_IPADDR='เอเอเอเอเอ'
    TUNNEL_REMOTE_IPADDR='บีบีบีบี'
    IPADDR='10.0.0.1'
    REMOTE_IPADDR='10.0.0.2'
    TUNNEL_TTL='64'
    ZONE='เชื่อถือได้'

เพิ่มเส้นทางไปยังฝั่งระยะไกลของลิงก์ P2P ผ่าน เกรย์1:

    # /etc/sysconfig/network/ifroute-gre1 
    # ตัวเลือกอินเทอร์เฟซ Netmask เกตเวย์ปลายทาง
    10.0.0.2 - - -

กำหนดค่า ไฟร์วอลล์ ทาง ไฟร์วอลล์ yast2:

  • ใส่อินเทอร์เฟซ เกรย์1 ในโซน ที่เชื่อถือ
  • อินเตอร์เฟซ eth0 น่าจะอยู่ในโซนแล้ว ภายนอก

การเปิดใช้งานการเปลี่ยนเส้นทาง

นี่คือ "ส่วนที่ยุ่งยาก" สุดท้ายซึ่งเป็นสาเหตุ 192.168.1.17การจราจรขาออกจะถูกเบี่ยงผ่านอุโมงค์ GRE

หากต้องการเปิดการเปลี่ยนเส้นทาง ให้รันคำสั่งเหล่านี้ อ.อ.อ:

ตารางล้างเส้นทาง $ ip 10
เส้นทาง $ ip เพิ่มตาราง 10 เป็นค่าเริ่มต้นผ่าน 10.0.0.2 dev gre1
กฎ $ ip เพิ่มจาก 192.168.1.17 ตาราง 10 ลำดับความสำคัญ 10

หากต้องการเลิกทำคำสั่งข้างต้น:

$ ip rule ลบจาก 192.168.1.17 table 10 ลำดับความสำคัญ 10
ตารางล้างเส้นทาง $ ip 10

โพสต์คำตอบ

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