Я пытаюсь сделать NAT, направляющий персистентный на моем экземпляре Ubuntu 12.04 EC2 (для OpenVPN; в настоящее время я должен выполнить его каждый раз после начальной загрузки):
ubuntu@vpn:~$ cat /etc/network/if-up.d/vpn-routing
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
Но это не работает:
ubuntu@vpn:~$ sudo iptables -t nat -L POSTROUTING
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
Какие-либо идеи, почему? Имеет значение, что я имею ufw
включенный? Я не видел ничего интересного/релевантного в системном журнале (хотя я не был уверен, что искать).Заранее спасибо.
Я думаю, это потому, что в файле нет строки Шебанга. Это должно быть что-то вроде:
#!/bin/sh
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
Также убедитесь, что файл имеет разрешение на выполнение:
sudo chmod +x /etc/network/if-up.d/vpn-routing
У меня были проблемы с этим сам. Одним из удобных способов отладки является включение файла журнала для ppp ... sudo touch /var/log/ppp-ipupdown.log
, затем, когда я запускаю сеанс ppp, я вижу, как ведет себя мой скрипт.