मैं यह सुनिश्चित करने की कोशिश कर रहा हूं कि वीपीएन पर हमारे आँकड़े सर्वर के सभी ट्रैफ़िक को मजबूर किया जाए, इस मामले में कि वीपीएन नीचे गिर जाता है, ऐसा नहीं होना चाहिए कि ट्रैफ़िक वैन पर रूट करने की कोशिश करता है। DNS लुकअप को शॉर्ट-सर्किट करने के लिए हमने होस्ट को होस्ट फ़ाइल में सूचीबद्ध किया है, लेकिन यह व्यापक दुनिया में भी हल होगा।
यहाँ हमारे पास क्या है:
$ echo "12.23.45.67 the.statsd.server" > /etc/hosts
# From a /etc/ppp/ip-up.d/thevpn (so it's a pptp client script that does this)
route add -host 12.34.45.67 dev ppp0
$ iptables -I INPUT -s 12.23.45.67 -i eth0 -j DROP
$ iptables -I OUTPUT -d 12.23.45.67 -o eth0 -j DROP
$ iptables -I OUTPUT -d 12.23.45.67 -o ppp0 -j ACCEPT
आईपी टेबल के काम करने तक सब कुछ, लेकिन समस्या (यदि यह वास्तव में एक समस्या है) यह है कि मैं अब उस होस्ट को पिंग नहीं कर सकता, तब भी जब वीपीएन ऊपर हो:
root@li149-82:~# ping the.statsd.server
PING the.statsd.server (12.23.45.67) 56(84) bytes of data.
ping: sendmsg: Operation not permitted
ping: sendmsg: Operation not permitted
ping: sendmsg: Operation not permitted
मैं आईपी तालिकाओं के साथ विशेष रूप से कुशल नहीं हूं, मुख्य बात यह है कि डिफ़ॉल्ट रूप से उस होस्ट को रूट करना संभव नहीं होना चाहिए , जब तक कि यह खत्म न हो ppp0
।