ฉันใช้ nat DNAT เพื่อส่งต่อทราฟฟิกบนพอร์ตหนึ่งไปยังเซิร์ฟเวอร์ Centos อื่นผ่านอุโมงค์ GRE อย่างไรก็ตาม ฉันต้องการจำกัดอัตราการจำกัด IP ของดาต้าเซ็นเตอร์จำนวนมากที่ฉันมีใน 'บัญชีดำ' ของรายการ ipset เพื่อให้การจราจรที่ส่งออกไปยังอุโมงค์มีอัตราจำกัด
ฉันได้ลองใช้การจำกัดอัตราในรายการ FORWARD, INPUT และ OUTPUT ทั้งหมดแล้ว อย่างไรก็ตาม การจำกัดอัตรานั้นใช้ไม่ได้กับรายการใดเลย - บางที nat DNAT อาจข้ามมันไปหรือไม่
iptables -A INPUT -m set --match-set blacklist src -p udp --dport 30000 -m hashlimit --hashlimit 10/min --hashlimit-name ratelimithash -j DROP
iptables -A FORWARD -m set --match-set blacklist src -p udp --dport 30000 -m hashlimit --hashlimit 10/min --hashlimit-name ratelimithash -j DROP
iptables -A OUTPUT -m set --match-set blacklist src -p udp --dport 30000 -m hashlimit --hashlimit 10/min --hashlimit-name ratelimithash -j DROP
ถ้าฉันเพิ่มรายการที่จะปล่อยผ่าน 'iptables -A OUTPUT -m set --match-set blacklist src -j DROP' มันจะหยุดการรับส่งข้อมูลทั้งหมด ดังนั้นรายการ IP ipset ของฉันจึงทำงานได้ไม่จำกัดอัตรา ใครก็ได้ช่วยด้วย ?
เอาต์พุต iptables:
เอาต์พุต iptables
เอาต์พุต NAT ของ iptables:
iptables แนทเอาท์พุต
กฎ iptables
#!/bin/sh
iptables -F
sudo iptables -t แนท -F
iptables -t แนท -X
sudo iptables -t mangle -F
sudo iptables -t mangle -X
sudo iptables -t ดิบ -F
sudo iptables -t ดิบ -X
sudo iptables -t ความปลอดภัย -F
sudo iptables -t ความปลอดภัย -X
sudo iptables -F
sudo iptables -X
sudo iptables -P อินพุตยอมรับ
sudo iptables -P ยอมรับไปข้างหน้า
sudo iptables -P เอาต์พุตที่ยอมรับ
iptables -A INPUT -i lo -j ยอมรับ
sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate ใหม่ ก่อตั้ง -j ยอมรับ
sudo iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ยอมรับ
iptables -A INPUT -m set --match-set blacklist src -p udp --dport 30000 -m hashlimit --hashlimit 10/min --hashlimit-name ratelimithash -j DROP
iptables -A FORWARD -m set --match-set blacklist src -p udp --dport 30000 -m hashlimit --hashlimit 10/min --hashlimit-name ratelimithash -j DROP
iptables -A OUTPUT -m set --match-set blacklist src -p udp --dport 30000 -m hashlimit --hashlimit 10/min --hashlimit-name ratelimithash -j DROP
iptables -t nat -A โพสต์ -s 192.168.168.0/30 ! -o gre+ -j SNAT --to-source 20&&&&&&&&&&&&&
iptables -A INPUT -s 192.168.168.2/32 -j ยอมรับ
iptables -I INPUT -m state --state ESTABLISHED, RELATED -j ยอมรับ
iptables -A INPUT -p gre -j ยอมรับ
iptables -A OUTPUT -p gre -j ยอมรับ
iptables -t nat -A PREROUTING -d 20&&&&&&&&&&&& -p udp --dport 30000 -j DNAT --to-destination 192.168.168.2
iptables -A OUTPUT -j DROP
iptables -P อินพุตลดลง