ฉันมีตัวอย่างการทำงานบน LAN ของฉัน แต่ตามความคิดเห็นอาจไม่สามารถแก้ปัญหาของคุณได้:
ปริมาณการใช้งานเว็บที่มาจาก 192.168.111.122 สำหรับ 192.168.111.136 จะถูกส่งต่อไปยัง 192.168.111.1 ตอบกลับจาก 192.168.111.1 สำรวจเส้นทางย้อนกลับ กลับไปที่ 192.168.111.122 ที่คิดว่าแพ็กเก็ตมาจาก 192.168.111.136
doug@s19:~/iptables/misc$ sudo tcpdump -n -tttt -i br0 ไม่ใช่พอร์ต 22
tcpdump: เอาต์พุต verbose ถูกระงับ ใช้ -v หรือ -vv สำหรับการถอดรหัสโปรโตคอลแบบเต็ม
กำลังฟัง br0, ประเภทลิงก์ EN10MB (Ethernet), ขนาดการจับภาพ 262144 ไบต์
12-12-2021 15:57:47.389745 IP 192.168.111.122.51683 > 192.168.111.136.443: ค่าสถานะ [S], seq 1692549099, ชนะ 64240, ตัวเลือก [mss 1460,nop,wscale 8,nop,nop,sackตกลง] , ความยาว 0
2021-12-19 15:57:47.389760 IP 192.168.111.136.51683 > 192.168.111.1.443: ค่าสถานะ [S], seq 1692549099, ชนะ 64240, ตัวเลือก [mss 1460,nop,wscale 8,nop,nop,sackตกลง] , ความยาว 0
2021-12-19 15:57:47.390055 IP 192.168.111.1.443 > 192.168.111.136.51683: ค่าสถานะ [S.], seq 1478028943, ack 1692549100, ชนะ 64240, ตัวเลือก [mss 1460,nop,nop,nop,nop ,wscale 7], ความยาว 0
2021-12-19 15: 57: 47.390062 IP 192.168.111.136.443> 192.168.111.122.51683: ธง [S. ], SEQ 1478028943, ACK 1692549100 ,wscale 7], ความยาว 0
2021-12-19 15:57:47.390301 IP 192.168.111.122.51683 > 192.168.111.136.443: ค่าสถานะ [.], ack 1, ชนะ 1026, ความยาว 0
2021-12-19 15:57:47.390306 IP 192.168.111.136.51683 > 192.168.111.1.443: ค่าสถานะ [.], ack 1, ชนะ 1026, ความยาว 0
2021-12-19 15:57:47.396847 IP 192.168.111.122.51683 > 192.168.111.136.443: Flags [P.], seq 1:518, ack 1, ชนะ 1026, ความยาว 517
2021-12-19 15:57:47.396852 IP 192.168.111.136.51683 > 192.168.111.1.443: Flags [P.], seq 1:518, ack 1, ชนะ 1026, ความยาว 517
2021-12-19 15:57:47.397080 IP 192.168.111.1.443 > 192.168.111.136.51683: ค่าสถานะ [.], ack 518, ชนะ 501, ความยาว 0
12-12-2021 15:57:47.397085 IP 192.168.111.136.443 > 192.168.111.122.51683: ค่าสถานะ [.], ack 518, ชนะ 501, ความยาว 0
2021-12-19 15:57:47.400934 IP 192.168.111.1.443 > 192.168.111.136.51683: Flags [P.], seq 1:1629, ack 518, win 501, length 1628
2021-12-19 15:57:47.400941 IP 192.168.111.136.443 > 192.168.111.122.51683: ค่าสถานะ [.], seq 1:1461, ack 518, ชนะ 501, ความยาว 1460
2021-12-19 15:57:47.400942 IP 192.168.111.136.443 > 192.168.111.122.51683: Flags [P.], seq 1461:1629, ack 518, win 501, length 168
โหลดกฎ iptables ผ่านสคริปต์บนคอมพิวเตอร์ทดสอบของฉัน:
doug@s19:~/iptables/misc$ cat ask1382639
#!/bin/sh
FWVER=0.01
#
# ask1382639 Smythies 2021.12.18 เวอร์ชั่น:0.01
# ดูที่นี่:
# https://askubuntu.com/questions/1382639
#
# เรียกใช้เป็น sudo บน s19
#
# หมายเหตุ: กฎเหล่านี้อาจต้องรวมเข้าด้วยกัน
# ชุดกฎ iptables ที่มีอยู่
echo "กำลังโหลดรุ่นชุดกฎ ask1382639 $FWVER..\n"
# ตำแหน่งของโปรแกรม iptables
#
IPTABLES=/sbin/iptables
#การตั้งค่าอินเทอร์เฟซและที่อยู่ภายนอกและภายในสำหรับเครือข่าย
#
# Smythies (สำหรับการทดสอบ)
EXTIF="br0"
EXTIP="192.168.111.136"
REDIRECTIP="192.168.111.1"
เครือข่าย="192.168.111.0/24"
จักรวาล="0.0.0.0/0"
#
# สำหรับเซิร์ฟเวอร์ที่แท้จริงของคำถาม
#
#EXTIF="ไม่รู้จัก"
#EXTIP="10.8.0.6"
#REDIRECTIP="10.8.0.1"
#NETWORK="10.8.0.0/24" สันนิษฐานว่าไม่รู้จักจริง
#UNIVERSE="0.0.0.0/0"
#CRITICAL: เปิดใช้งานการส่งต่อ IP เนื่องจากถูกปิดใช้งานตามค่าเริ่มต้น
#
echo กำลังเปิดใช้งานการส่งต่อ...
echo "1" > /proc/sys/net/ipv4/ip_forward
# ล้างการกำหนดค่าใด ๆ ก่อนหน้านี้
#ระวังตรงนี้ ฉันสามารถทำได้ใน s19 แต่ไม่รู้
# เกี่ยวกับเซิร์ฟเวอร์ของ Admia
#
echo " กำลังล้างกฎที่มีอยู่และตั้งค่านโยบายเริ่มต้น.."
$IPTABLES -P ยอมรับอินพุต
$IPTABLES -F อินพุต
$IPTABLES -P ยอมรับเอาต์พุต
$IPTABLES -F เอาต์พุต
$IPTABLES -P ยอมรับไปข้างหน้า
$IPTABLES -F ส่งต่อ
$IPTABLES -t แนท -F
# ลบเชนที่ผู้ใช้กำหนด
$IPTABLES -X
# รีเซ็ตตัวนับ IPTABLES ทั้งหมด
$IPTABLES -Z
# Smythies: แม้ว่าการอ้างอิงของฉันจะไม่มี แต่ฉันคิดว่าสิ่งนี้จำเป็น
$IPTABLES -t แนท -Z
# อันดับแรก: เปลี่ยนเส้นทางการรับส่งข้อมูลพอร์ต 443 ไปยังเซิร์ฟเวอร์อื่น
$IPTABLES -t nat -A PREROUTING -p tcp -i $EXTIF --dport 443 -j DNAT --to $REDIRECTIP
# ที่สอง: ปลายทางจำเป็นต้องรู้ว่าที่อยู่ IP ใดที่จะตอบกลับ
$IPTABLES -t nat -A POSTROUTING -p tcp -o $EXTIF --dport 443 -d $REDIRECTIP -j SNAT --ถึง $EXTIP
echo ask1382639 กฎชุดเวอร์ชัน $FWVER เสร็จแล้ว
และ:
doug@s19:~/iptables/misc$ sudo iptables -t แนท -xvnL
CHAIN PREROUTING (นโยบายยอมรับ 177 แพ็คเก็ต, 13129 ไบต์)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
6 312 DNAT tcp -- br0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443 ถึง:192.168.111.1
Chain INPUT (นโยบายยอมรับ 177 แพ็คเก็ต, 13129 ไบต์)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
Chain POSTROUTING (นโยบายยอมรับ 3 แพ็กเก็ต 252 ไบต์)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง
6 312 SNAT tcp -- * br0 0.0.0.0/0 192.168.111.1 tcp dpt:443 ถึง:192.168.111.136
Chain OUTPUT (นโยบายยอมรับ 3 แพ็กเก็ต 252 ไบต์)
pkts bytes target prot เลือกใช้ปลายทางต้นทาง