How to add multiple IP Address for Vesta Firewall

อยากเซ็ค Group IP Address ใน Vesta Firewall แต่ระบบมันแจ้งว่า Error: "Invalid IP Format" ซึ่งวิธีแก้ก็อาจจะเข้าไป set iptables ผ่าน cli มันจะใช้งานได้ แต่หาก restart service iptables ค่าต่างๆ ก็จะหายไป เนื่องจาก vesta ไม่ได้เก็บค่านั้นไว้ มันมีการเรียกค่ามาจาก plugin อื่น ซึ่งสามารถเข้าไปแก้ไขดังนี้

Open config file /etc/vesta/data/firewall/rules.conf

แก้ไขในส่วนของ IP=’…’

RULE='11' ACTION='ACCEPT' PROTOCOL='TCP' PORT='22' IP='129.0.0.0/16' COMMENT='SSH' SUSPENDED='no' TIME='10:42:59' DATE='2020-09-13'

เป็นแบบนี้ 1.1.1.1/16,8.8.8.8/12

RULE='11' ACTION='ACCEPT' PROTOCOL='TCP' PORT='22' IP='1.0.128.0/17,1.1.128.0/17,1.2.128.0/17,1.4.128.0/17,1.10.128.0/17,1.20.0.0/16,1.46.0.0/15,1.179.128.0/17' COMMENT='SSH' SUSPENDED='no' TIME='10:42:59' DATE='2020-09-13'

จากนั้น restart iptables ค่าต่างๆก็จะไม่หายแล้ว

Trick!

หากต้องการเพิ่ม IP แบบกลุ่มใหญ่ ให้ระวังข้อความต้องไม่เกิน 500 ตัวอักษร หรืออยู่ประมาณ 300 เพราะลองทดสอบแล้วถ้าข้อความยาวมากๆ มันจะไม่ทำงาน

และไฟล์ rules.conf อย่าลืิมใส่ EOL ให้ด้วย คือต้องกด enter เพื่อขึ้นบรรทัดใหม่ ทิ้งไว้ 1 บรรทัดเสมอ