เลิกทำการส่งต่อพอร์ต


16

ฉันต้องการคำขอทั้งหมดไปที่พอร์ต 80 เพื่อส่งต่อไปที่ 8020 ฉันไปที่ Google และฉันได้รับ:

iptables -t nat -I PREROUTING --source 0/0 --destination 0/0 -p tcp --dport 80 -j REDIRECT --to-ports 8020

ตอนนี้ในอนาคตถ้าฉันต้องเลิกทำฉันต้องทำยังไงดี (นอกเหนือจากการรีสตาร์ทระบบ)?

คำตอบ:



18

ฉันคิดว่ามันยากที่จะสร้างกฎ iptable ใหม่เมื่อฉันต้องการลบ Instaed ฉันทำรายการกฎด้วยหมายเลขบรรทัดแล้วลบตามหมายเลข ตัวอย่างเช่น:

iptables -t nat -L --line-numbers

ให้ผลลัพธ์เช่น:

Chain PREROUTING (policy ACCEPT)
num  target     prot opt source               destination         
1    REDIRECT   tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 redir ports 8020 

จากนั้นลบตามหมายเลข:

iptables -t nat -D PREROUTING 1

Caveat: เมื่อคุณลบบรรทัดทุกบรรทัดด้านล่างจะได้รับหมายเลขบรรทัดใหม่ ตัวอย่างเช่นหากคุณมีกฎเช่น:

1 rule A
2 rule B
3 rule C

และคุณลบกฎ 2 จากนั้นคุณจะได้รับ:

1 rule A
2 rule C

คำตอบนี้มีประโยชน์มากกว่าคำตอบที่ยอมรับขอบคุณสำหรับการเขียน @brainsik
rjhilgefort

0

ฉันสงสัยว่าใช้เป็นกลุ่มจะเป็นตัวเลือก

iptables-save > editme

vim editme # remove the rule you dont want

iptables-restore < editme

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.