Настройка VPN Client-Server, NAT в Sabayon Linux (Gentoo)
В описываемой конфигурации приводятся:
название соединения - vpn
пользователь test
пароль 12345
1. VPN
Ядро должно быть собрано с поддержкой протокола шифрования MPPE
Cryptographic options --->
[*] Cryptographic API
[*] HMAC support
[M] MD5 digest algorithm
--- SHA1 digest algorithm
[M] SHA256 digest algorithm
[M] SHA384 and SHA512 digest algorithms
[M] DES and Triple DES EDE cipher algorithms
[M] ARC4 cipher algorithm
[M] Deflate compression algorithm
Device Drivers --->
Networking support --->
[*] PPP (point-to-point protocol) support
[*] PPP filtering
[M] PPP support for async serial ports
[M] PPP support for sync tty ports
[M] PPP Deflate compression
[M] PPP BSD-Compress compression
[M] PPP MPPE compression (encryption) (NEW)
1.1 Client
Должны быть установлены net-dialup/ppp и net-dialup/pptpclient
Файл с настройками vpn соединения: /etc/ppp/peers/vpn
pty "/usr/sbin/pptp адрес_vpn_сервера --nolaunchpppd"
lock
noauth
nobsdcomp
nodetach
nodeflate
user test
# использовать для аутентификации аккаунт test
require-mppe-128 #
использовать 128-битное шифрование MPPE
defaultroute
# использовать шлюз VPN как
шлюз по умолчанию
persist
#
возобновлять соединение при обрыве
maxfail 10
#
прекратить возобновление соединения после 10 неудачных попыток (0 -
возобновлять бесконечно, не рекомендуется)
debug
# выводить отладочную информацию
Файл, в котором хранятся логин и пароль пользователя:
/etc/ppp/chap-secrets
test * 12345 *
Соединение устанавливается вызовом
# pppd call vpn
1.2 Server
Должны быть установлены net-dialup/ppp и net-dialup/pptpd
Файл в котором хранятся логин и пароль пользователей:
/etc/ppp/chap-secrets
test pptpd 12345 *
(если необходимо привязать определённый IP к логину, вместо * следует
указать соответствующий IP)
Файл с настройками vpn соединения: /etc/ppp/options.pptpd
lock
auth
# требовать аутентификацию у клиентов
nobsdcomp
novj
novjccomp
nologfd
name pptpd
# название сервера (должно совпадать с
названием в файле /etc/ppp/chap-secrets)
refuse-pap
# не
использовать протокол аутентификации PAP
refuse-chap
# не использовать протокол аутентификации CHAP
refuse-mschap
# не
использовать протокол аутентификации MS-CHAP версии 1
require-mschap-v2
# использовать протокол
аутентификации MS-CHAP версии 2
require-mppe-128
# использовать
128-битное шифрование MPPE
ms-dns адрес_основного_днс_сервера
ms-dns адрес_резервного_днс_сервера
proxyarp
lcp-echo-failure 3
#
если n LCP echo-requests отправлены без приема правильных LCP echo-reply - pppd завершит связь.
lcp-echo-interval 30
#
отправлять кадр LCP echo-request удаленной стороне каждые n секунд для определения что удаленная сторона больше не соединена.
debug
#
выводить отладочную информацию
Файл c настройками pptpd: /etc/pptpd.conf
ppp /usr/sbin/pppd
option /etc/ppp/options.pptpd
connections 10
# количество одновременных соединений,
поддерживаемых сервером
localip 192.168.192.1
# адрес vpn сервера (для vpn соединений с
клиентами)
remoteip 192.168.192.2-11
# диапазон адресов, назначаемых
клиентам
debug
#
выводить отладочную информацию
(в конце файла необходимо оставить пустую строку, иначе работать не
будет)
и прописать pptpd в автозагрузку
# rc-update add pptpd default
2. NAT
Ядро должно быть собрано с опцией CONFIG_IP_NF_TARGET_MASQUERADE=y
-> Networking support (NET [=y])
-> Networking options
-> Network packet filtering framework (Netfilter)
(NETFILTER [=y])
-> IP: Netfilter Configuration
-> IP tables support
(required for filtering/masq/NAT) (IP_NF_IPTABLES [=y])
-> Full NAT
(NF_NAT [=y])
<*> MASQUERADE target support
и установлен net-firewall/iptables, после чего нужно добавить правило
# iptables -t nat -A POSTROUTING -s адрес_внутренней_сети -o
внешний_интерфейс -j MASQUERADE
где адрес_внутренней_сети - это адрес сети и маска, например
192.168.192.0/24, а внешний_интерфейс - название сетевого интерфейса,
подключенного к Интернету, например ppp0 или eth1
затем надо сохранить изменения
# /etc/init.d/iptables save
прописать iptables в автозагрузку
# rc-update add iptables default
включить маршрутизацию
# sysctl -w net.ipv4.ip_forward=1
и сохранить изменения
Файл: /etc/sysctl.conf
net.ipv4.ip_forward = 1
©mohado
Используются технологии
uCoz