Назад | Перейти на главную страницу

Запуск дополнительной команды для правильной загрузки openvpn

У меня 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

При перезагрузке это запустится автоматически.