ทางเลือก I:
ใช้ ld_preload เพื่อบังคับเกตเวย์ส่วนต่อประสานhttps://github.com/Intika-Linux-Network/App-Route-Jail
บังคับให้แอปพลิเคชันใช้เครือข่ายเฉพาะ
เราจำเป็นต้องค้นหาเกตเวย์ที่อินเตอร์เฟสเครือข่ายใช้อยู่แล้วบังคับให้เกตเวย์นั้นเข้าสู่แอปพลิเคชันที่ถูกจำคุกของเรา
- วิธีค้นหาอินเตอร์เฟสเกตเวย์ (มีวิธีแก้ปัญหามากมายในการค้นหาเกตเวย์นี่คือคำสั่งบางอย่างที่อนุญาตให้ค้นหาเกตเวย์ที่ใช้)
$ route
$ route -n
$ ip rule list
$ ip route show
$ netstat -rn
$ cat /etc/network/interfaces
$ cat /etc/sysconfig/network-scripts/ifcfg-eth0
$ traceroute www.google.com
$ ip route show 0.0.0.0/0 dev eth0
ต่อแอพพลิเคชันเกตเวย์
git clone https://github.com/Intika-Linux-Network/App-Route-Jail.git
cd Approute-Utils
chown 755 make.sh
./make.sh
- เพิ่มเส้นทางสำหรับแพ็คเก็ตที่ถูกทำเครื่องหมายในอนาคต (สำหรับแอปพลิเคชันที่ถูกจำคุก) ในตัวอย่าง
192.168.1.1
นี้ใช้เป็นเกตเวย์บังคับ, กฎเส้นทางนี้จะไม่ส่งผลกระทบต่อแอปพลิเคชันอื่น ๆ การจัดการนี้จะต้องทำเพียงครั้งเดียว ใช้วิธีนี้ทุกวัน
ip rule add fwmark 10 table 100
ip route add default via 192.168.1.1 table 100
- เริ่มแอปพลิเคชันที่คุณต้องการติดคุก
MARK=10 LD_PRELOAD=./mark.so firefox
MARK=10 LD_PRELOAD=./mark.so wget -qO- ifconfig.me
ทางเลือกที่สอง:
Firejail https://firejail.wordpress.com/สามารถบังคับให้แอปพลิเคชันใช้เครือข่ายเฉพาะ แต่ความเข้ากันได้นั้นมี จำกัด
firejail --dns=8.8.8.8 --net=eth0 --ip=192.168.1.1