У меня openvpn работает нормально и загружается при запуске, как и ожидалось. Однако без выполнения следующих команд на сервере я не могу использовать его для пересылки трафика от моего клиента:
sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
su
echo '1' > /proc/sys/net/ipv4/ip_forward
В su
потому что sudo недостаточно (т.е. sudo echo '1' > /proc/sys/net/ipv4/ip_forward
потерпит неудачу, поэтому я должен использовать su
, войдите в систему как root и затем запустите команду. Если вы знаете, как это сделать получше, я все слышу).
Я хочу, чтобы все это выполнялось автоматически при загрузке (поэтому после перезагрузки мне не нужно входить в систему через SSH, запускать команды и снова выходить из системы ... Я хочу просто запустить свой клиент и уйти), но не знаю как это сделать. Я использую сервер Ubuntu 10.10.
* К вашему сведению, это так, чтобы я мог использовать этот (в США ... в моей гостиной) VPN изнутри Китая, если (когда) они блокируют мою обычную вспомогательную VPN (что они делают слишком часто).
У вас есть несколько вариантов (на самом деле у вас есть много-много вариантов, но вот некоторые):
1) Поместите эти команды в /etc/rc.local (перед строкой «exit 0»). Они запустятся при загрузке.
2) Напишите сценарий инициализации "openvpn-firewall", дайте ему выполнить эти команды и убедитесь, что он выполняется до запуска openvpn.
3) Используйте iptables-save и iptables-restore для управления командами iptables и поместите свой ip_forward в / etc / sysctl.
а) iptables. Следуйте инструкциям на Вики-страница Ubuntu IPTables, особенно раздел «конфигурация при запуске».
б) ip_forward. Отредактируйте /etc/sysctl.conf и найдите строку, которая выглядит как
#net.ipv4.ip_forward=1
И раскомментируйте его, чтобы он выглядел так:
net.ipv4.ip_forward=1
При перезагрузке это запустится автоматически.