ก็คล้ายกันครับ
แต่ของผมจะเข้าใจง่ายกว่า
และไม่มีปัญหากรณี มีการเปลี่ยนแปลง route table เนื่องจาก MARK RULES จะทำการเปลี่ยนแปลง เฉพาะ State NEW
ส่วน State RELATED,ESTABLISHED จะไม่มีการเปลี่ยนแปลง เพื่อป้องกันการหลุดของเกมส์ที่เล่นอยู่ในขณะเส้น เวป มีปัญหา
เป็นต้น
ซึ่งในไฟล์ /etc/init.d/tableroute.sh จะมีบรรทัด
# MARK RULE FOR NEW PACKET
iptables -t mangle -A PREROUTING -i eth0 -m state --state NEW -j MARK_RULES
iptables -t mangle -A PREROUTING -i eth0 -m state --state RELATED,ESTABLISHED -j CONNMARK --restore-mark
เป็นตัวกำหนดเงื่อนไข ก่อนทำการ MARK Packet