Score:0

กฎ iptable ของ XCP-NG Single NIC MASQUERADE พอร์ตไม่ได้ส่งต่อเพียงแค่ทราฟฟิกเครือข่ายพื้นฐาน

ธง cn

ฉันมีปัญหาในการรับพอร์ตเพื่อส่งต่อไปยัง VM ผ่านกฎ iptable ของ MASQUERADE ฉันทำงานบนเซิร์ฟเวอร์เดียวกันกับ Proxmox แต่ตอนนี้ด้วย XCP-NG ฉันไม่สามารถทำให้มันใช้งานได้ ฉันเคยทำมาแล้วครั้งหนึ่งบนหนึ่งในเซิร์ฟเวอร์เหล่านี้ แต่ฉันไม่สามารถทำซ้ำได้อีกครั้ง การเชื่อมต่อเครือข่ายสำหรับขาออกและรับการอัปเดตและคำขอ http/https บน VM นั้นใช้งานได้ดีฉันไม่สามารถรับพอร์ตเพื่อส่งต่อไปยัง VoyOs/Pfsense VM ได้ ดังนั้นฉันจึงสามารถส่งต่อไปยัง VM ภายในได้

ในระยะสั้นฉันสามารถรับเครือข่ายไปยัง VM ได้ แต่ไม่สามารถส่งต่อพอร์ตได้

ฉันมีเซิร์ฟเวอร์สองเครื่องที่รัน XCP-NG แต่เครื่องหนึ่งใช้ VoyOS และอีกเครื่องหนึ่ง OPNsense:

  • XCP-NG : 8.2
  • OPNsense : 21.7.1
  • VoyOS : ล่าสุด

ฉันทำตามคำแนะนำเหล่านี้:

xenser-single-ip-howto

การตั้งค่าเกตเวย์โดยใช้ iptables และเส้นทางบนลินุกซ์

สร้างเครือข่ายส่วนตัวสะพาน proxmox กับ nat

xen-host-and-guest-sharing-same-ip

แผนที่เครือข่าย

               - อินเทอร์เฟซการจัดการ
นิค 0 -> xenbr0                                                 
               - MASQUERADE เป็น xenbr1 (10.0.0.254) --> Wan- VoyOs/Pfsense (10.0.0.2) --> Lan Internal (10.0.1.1) --> VM's (10.0.1.x)
                                                             

พยายาม:

iptables -t nat -A POSTROUTING -s '10.0.0.0/24' -o xenbr0 -j MASQUERADE

iptables -A PREROUTING -t nat -p tcp -i xenbr0 -d XXX.XXX.XXX.XX --dport 2727 -j DNAT --to 10.0.0.2:2727

และลบ -d XXX.XXX.XXX.XX IPaddress ภายนอก

iptables -A PREROUTING -t nat -p tcp -i xenbr0 --dport 2727 -j DNAT --to 10.0.0.2:2727 

จากนั้นฉันก็ลบกฎเหล่านั้นและลอง:

iptables -I FORWARD 1 -i xenbr1 -j ยอมรับ

iptables -t nat -A โพสต์ -o xenbr0 -j MASQUERADE

และพยายามครั้งสุดท้าย:

iptables --append FORWARD --in-interface xenbr1 -j ยอมรับ
iptables -D FORWARD --in-interface xenbr1 -j ยอมรับ

กฎตาราง IP

# iptables --รายการกฎ
-P อินพุตยอมรับ
-P ยอมรับไปข้างหน้า
-P เอาต์พุตยอมรับ
-N RH-ไฟร์วอลล์-1-INPUT
-N xapi_nbd_input_chain
-N xapi_nbd_output_chain
-อินพุต -p tcp -m tcp --dport 10809 -j xapi_nbd_input_chain
-A อินพุต -p gre -j ยอมรับ
-A อินพุต -j RH-ไฟร์วอลล์-1-อินพุต
-A FORWARD -j RH-ไฟร์วอลล์-1-INPUT
-A OUTPUT -p tcp -m tcp --sport 10809 -j xapi_nbd_output_chain
-A RH-Firewall-1-INPUT -i lo -j ยอมรับ
-A RH-Firewall-1-INPUT -p icmp -m icmp --icmp-type ใด ๆ -j ยอมรับ
-A RH-ไฟร์วอลล์-1-INPUT -i xenapi -p udp -m udp --dport 67 -j ยอมรับ
-A RH-Firewall-1-INPUT -m conntrack --ctstate ที่เกี่ยวข้อง ก่อตั้ง -j ยอมรับ
-A RH-Firewall-1-INPUT -p udp -m conntrack --ctstate NEW -m udp --dport 694 -j ยอมรับ
-A RH-Firewall-1-INPUT -p tcp -m conntrack --ctstate ใหม่ -m tcp --dport 22 -j ยอมรับ
-A RH-Firewall-1-INPUT -p tcp -m conntrack --ctstate ใหม่ -m tcp --dport 80 -j ยอมรับ
-A RH-Firewall-1-INPUT -p tcp -m conntrack --ctstate ใหม่ -m tcp --dport 443 -j ยอมรับ
-A RH-ไฟร์วอลล์-1-อินพุต -p tcp -m tcp --dport 21064 -j ยอมรับ
-A RH-Firewall-1-INPUT -p udp -m หลายพอร์ต --dports 5404,5405 -j ยอมรับ
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
-A xapi_nbd_input_chain -j REJECT --reject-with icmp-port-unreachable
-A xapi_nbd_output_chain -j REJECT --reject-with icmp-port-unreachable

ตาราง IP

# iptables -L && iptables -t แนท -L
เชนอินพุท (ยอมรับนโยบาย)
เป้าหมาย prot เลือกปลายทางต้นทาง
xapi_nbd_input_chain tcp -- ทุกที่ ทุกแห่ง tcp dpt:nbd
ยอมรับ gre -- ทุกที่ที่ใดก็ได้
RH-Firewall-1-INPUT ทั้งหมด -- ทุกที่ ทุกแห่ง
ส่งต่อไปข้างหน้า (ยอมรับนโยบาย)
เป้าหมาย prot เลือกปลายทางต้นทาง
RH-Firewall-1-INPUT ทั้งหมด -- ทุกที่ ทุกแห่ง
Chain OUTPUT (ยอมรับนโยบาย)
เป้าหมาย prot เลือกปลายทางต้นทาง
xapi_nbd_output_chain tcp -- ทุกที่ ทุก tcp spt:nbd
Chain RH-Firewall-1-INPUT (อ้างอิง 2 รายการ)
เป้าหมาย prot เลือกปลายทางต้นทาง
ยอมรับทั้งหมด - ทุกที่ทุกที่
ยอมรับ icmp -- ทุกที่ ทุกที่ icmp ใดๆ
ยอมรับ udp -- ทุกที่ ทุกแห่ง udp dpt:bootps
ยอมรับทั้งหมด -- ทุกที่ ทุกแห่ง ctstate ที่เกี่ยวข้อง ก่อตั้ง
ยอมรับ udp -- ทุกที่ ทุกแห่ง ctstate ใหม่ udp dpt:ha-คลัสเตอร์
ยอมรับ tcp -- ที่ไหนก็ได้ ctstate ใหม่ tcp dpt:ssh
ยอมรับ tcp -- ทุกที่ ทุกแห่ง ctstate ใหม่ tcp dpt:http
ยอมรับ tcp -- ทุกที่ ทุกแห่ง ctstate ใหม่ tcp dpt:https
ยอมรับ tcp -- ที่ไหนก็ได้ tcp dpt:21064
ยอมรับ udp - ทุกที่ ทุกแห่ง หลายพอร์ต dports hpoms-dps-lstn, netsupport
ปฏิเสธทั้งหมด - ทุกที่ที่ปฏิเสธด้วย icmp-host-prohibited
เชน xapi_nbd_input_chain (อ้างอิง 1 รายการ)
เป้าหมาย prot เลือกปลายทางต้นทาง
ปฏิเสธทั้งหมด - ทุกที่ที่ปฏิเสธด้วย icmp-port-ไม่สามารถเข้าถึงได้
เชน xapi_nbd_output_chain (อ้างอิง 1 รายการ)
เป้าหมาย prot เลือกปลายทางต้นทาง
ปฏิเสธทั้งหมด - ทุกที่ที่ปฏิเสธด้วย icmp-port-ไม่สามารถเข้าถึงได้
ห่วงโซ่ PREROUTING (ยอมรับนโยบาย)
เป้าหมาย prot เลือกปลายทางต้นทาง
DNAT tcp - ทุกที่ ทุก tcp dpt:mgcp-callagent ถึง:10.0.0.2:2727
เชนอินพุท (ยอมรับนโยบาย)
เป้าหมาย prot เลือกปลายทางต้นทาง
Chain OUTPUT (ยอมรับนโยบาย)
เป้าหมาย prot เลือกปลายทางต้นทาง
ห่วงโซ่โพสต์ (ยอมรับนโยบาย)
เป้าหมาย prot เลือกปลายทางต้นทาง
สวมหน้ากากทั้งหมด -- 10.0.0.0/24 ที่ใดก็ได้

/etc/sysconfig/iptables

# cat /etc/sysconfig/iptables
# สร้างโดย iptables-save v1.4.21 ในวันจันทร์ที่ 16 สิงหาคม 20:14:40 น. 2021
*กรอง
:อินพุต ยอมรับ [0:0]
:ส่งต่อ ยอมรับ [0:0]
: ยอมรับเอาต์พุต [6179:9587238]
:RH-ไฟร์วอลล์-1-อินพุต - [0:0]
:xapi_nbd_input_chain - [0:0]
:xapi_nbd_output_chain - [0:0]
-อินพุต -p tcp -m tcp --dport 10809 -j xapi_nbd_input_chain
-A อินพุต -p gre -j ยอมรับ
-A อินพุต -j RH-ไฟร์วอลล์-1-อินพุต
-A FORWARD -j RH-ไฟร์วอลล์-1-INPUT
-A OUTPUT -p tcp -m tcp --sport 10809 -j xapi_nbd_output_chain
-A RH-Firewall-1-INPUT -i lo -j ยอมรับ
-A RH-Firewall-1-INPUT -p icmp -m icmp --icmp-type ใด ๆ -j ยอมรับ
-A RH-ไฟร์วอลล์-1-INPUT -i xenapi -p udp -m udp --dport 67 -j ยอมรับ
-A RH-Firewall-1-INPUT -m conntrack --ctstate ที่เกี่ยวข้อง ก่อตั้ง -j ยอมรับ
-A RH-Firewall-1-INPUT -p udp -m conntrack --ctstate NEW -m udp --dport 694 -j ยอมรับ
-A RH-Firewall-1-INPUT -p tcp -m conntrack --ctstate ใหม่ -m tcp --dport 22 -j ยอมรับ
-A RH-Firewall-1-INPUT -p tcp -m conntrack --ctstate ใหม่ -m tcp --dport 80 -j ยอมรับ
-A RH-Firewall-1-INPUT -p tcp -m conntrack --ctstate ใหม่ -m tcp --dport 443 -j ยอมรับ
-A RH-ไฟร์วอลล์-1-อินพุต -p tcp -m tcp --dport 21064 -j ยอมรับ
-A RH-Firewall-1-INPUT -p udp -m หลายพอร์ต --dports 5404,5405 -j ยอมรับ
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
-A xapi_nbd_input_chain -j REJECT --reject-with icmp-port-unreachable
-A xapi_nbd_output_chain -j REJECT --reject-with icmp-port-unreachable
ให้สัญญา
#แล้วเสร็จเมื่อ จันทร์ ส.ค. 59 20:14:40 น. 2564
# สร้างโดย iptables-save v1.4.21 ในวันจันทร์ที่ 16 สิงหาคม 20:14:40 น. 2021
*แนท
: ยอมรับ [5:322]
: ยอมรับอินพุต [3:164]
: ยอมรับเอาต์พุต [1:73]
:หลังยอมรับ [1:73]
-A PREROUTING -i xenbr0 -p tcp -m tcp --dport 2727 -j DNAT --to-destination 10.0.0.2:2727
-A โพสต์ -s 10.0.0.0/24 -o xenbr0 -j MASQUERADE
ให้สัญญา
#แล้วเสร็จเมื่อ จันทร์ ส.ค. 59 20:14:40 น. 2564

ถ้ากำหนดค่า

#ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
        อีเธอร์ 78:2b:cb:3c:81:65 txqueuelen 1000 (อีเธอร์เน็ต)
        แพ็คเก็ต RX 24705 ไบต์ 3641727 (3.4 MiB)
        ข้อผิดพลาด RX 0 หลุด 0 โอเวอร์รัน 0 เฟรม 0
        แพ็กเก็ต TX 47612 ไบต์ 37970921 (36.2 MiB)
        ข้อผิดพลาด TX 0 หลุด 0 โอเวอร์รัน 0 พาหะ 0 ชนกัน 0

eth1: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
        อีเธอร์ 78:2b:cb:3c:81:66 txqueuelen 1000 (อีเธอร์เน็ต)
        แพ็คเก็ต RX 0 ไบต์ 0 (0.0 B)
        ข้อผิดพลาด RX 0 หลุด 0 โอเวอร์รัน 0 เฟรม 0
        แพ็กเก็ต TX 0 ไบต์ 0 (0.0 B)
        ข้อผิดพลาด TX 0 หลุด 0 โอเวอร์รัน 0 พาหะ 0 ชนกัน 0

แท้จริง: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
        inet 127.0.0.1 เน็ตมาสก์ 255.0.0.0
        วนซ้ำ txqueuelen 1,000 (วนกลับในเครื่อง)
        แพ็คเก็ต RX 5951 ไบต์ 33860750 (32.2 MiB)
        ข้อผิดพลาด RX 0 หลุด 0 โอเวอร์รัน 0 เฟรม 0
        แพ็กเก็ต TX 5951 ไบต์ 33860750 (32.2 MiB)
        ข้อผิดพลาด TX 0 หลุด 0 โอเวอร์รัน 0 พาหะ 0 ชนกัน 0

vif1.0: flags=4291<UP,BROADCAST,RUNNING,NOARP,MULTICAST> mtu 1500
        อีเธอร์ fe:ff:ff:ff:ff:ff txqueuelen 32 (อีเธอร์เน็ต)
        แพ็คเก็ต RX 6 ไบต์ 444 (444.0 B)
        ข้อผิดพลาด RX 0 หลุด 0 โอเวอร์รัน 0 เฟรม 0
        แพ็กเก็ต TX 0 ไบต์ 0 (0.0 B)
        ข้อผิดพลาด TX 0 หลุด 0 โอเวอร์รัน 0 พาหะ 0 ชนกัน 0

vif1.1: flags=4291<UP,BROADCAST,RUNNING,NOARP,MULTICAST> mtu 1500
        อีเธอร์ fe:ff:ff:ff:ff:ff txqueuelen 32 (อีเธอร์เน็ต)
        แพ็คเก็ต RX 1442 ไบต์ 95984 (93.7 KiB)
        ข้อผิดพลาด RX 0 หลุด 0 โอเวอร์รัน 0 เฟรม 0
        แพ็กเก็ต TX 1336 ไบต์ 143058 (139.7 KiB)
        ข้อผิดพลาด TX 0 หลุด 0 โอเวอร์รัน 0 พาหะ 0 ชนกัน 0

xapi0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
        อีเธอร์เป็น:16:43:65:a2:4f txqueuelen 1000 (อีเธอร์เน็ต)
        แพ็คเก็ต RX 6 ไบต์ 444 (444.0 B)
        ข้อผิดพลาด RX 0 หลุด 0 โอเวอร์รัน 0 เฟรม 0
        แพ็กเก็ต TX 0 ไบต์ 0 (0.0 B)
        ข้อผิดพลาด TX 0 หลุด 0 โอเวอร์รัน 0 พาหะ 0 ชนกัน 0

xenbr0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
        inet XXX.XXX.XXX.XX netmask 255.255.255.252 ออกอากาศ XXX.XXX.XXX.XX
        อีเธอร์ 78:2b:cb:3c:81:65 txqueuelen 1000 (อีเธอร์เน็ต)
        แพ็คเก็ต RX 23841 ไบต์ 3101836 (2.9 MiB)
        ข้อผิดพลาด RX 0 หลุด 0 โอเวอร์รัน 0 เฟรม 0
        แพ็กเก็ต TX 33197 ไบต์ 36975647 (35.2 MiB)
        ข้อผิดพลาด TX 0 หลุด 0 โอเวอร์รัน 0 พาหะ 0 ชนกัน 0

xenbr1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
        inet 10.0.0.254 netmask 255.255.255.0 ออกอากาศ 10.0.0.255
        อีเธอร์ 78:2b:cb:3c:81:66 txqueuelen 1000 (อีเธอร์เน็ต)
        แพ็คเก็ต RX 1442 ไบต์ 95984 (93.7 KiB)
        ข้อผิดพลาด RX 0 หลุด 0 โอเวอร์รัน 0 เฟรม 0
        แพ็กเก็ต TX 1336 ไบต์ 143058 (139.7 KiB)
        ข้อผิดพลาด TX 0 หลุด 0 โอเวอร์รัน 0 พาหะ 0 ชนกัน 0

/etc/sysctl.conf

# การตั้งค่า sysctl ถูกกำหนดผ่านไฟล์ใน
# /usr/lib/sysctl.d/, /run/sysctl.d/ และ /etc/sysctl.d/
#
# การตั้งค่าผู้ขายอยู่ใน /usr/lib/sysctl.d/
# หากต้องการแทนที่ทั้งไฟล์ ให้สร้างไฟล์ใหม่ที่มีไฟล์เดียวกัน
# /etc/sysctl.d/ และตั้งค่าใหม่ที่นั่น เพื่อแทนที่
# เฉพาะการตั้งค่าเฉพาะ เพิ่มไฟล์ด้วยคำศัพท์ในภายหลัง
# ชื่อใน /etc/sysctl.d/ และตั้งค่าใหม่ที่นั่น
#
# สำหรับข้อมูลเพิ่มเติม โปรดดูที่ sysctl.conf(5) และ sysctl.d(5)
net.ipv4.ip_forward = 1

โพสต์คำตอบ

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