VPN в каждый дом / Хабрахабр: "openswan "
'via Blog this'
Iptables
'via Blog this'
VPN в каждый дом
Iptables
Открываем порты для своих нужд
iptables -t nat -A PREROUTING -p tcp --dport 3389 -j DNAT --to-destination 17?.???.???.30
iptables -A FORWARD -p tcp --dport 3389 -j ACCEPT
Сообщаем брандмауэру «выпускать» трафик через публичный интерфейс eth0, иначе доступ будет ограничен, хотя это может быть полезно в ряде случаев.
iptables -t nat -A PREROUTING -p tcp --dport 3389 -j DNAT --to-destination 17?.???.???.30
iptables -A FORWARD -p tcp --dport 3389 -j ACCEPT
Сообщаем брандмауэру «выпускать» трафик через публичный интерфейс eth0, иначе доступ будет ограничен, хотя это может быть полезно в ряде случаев.
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
В /etc/sysctl.conf:
net.ipv4.ip_forward = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
Что делает скрипт см. ниже.
Openswan в качестве IPSec-сервера, xl2tpd (есть в EPEL) — в качестве провайдера L2TP с аутентификацией по PPP.
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
net.ipv4.ip_forward = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
for iface in /proc/sys/net/ipv4/conf/*; do
echo 0 > $iface/accept_redirects;
echo 0 > $iface/send_redirects;
done
sysctl -p
xL2TPd
[global]
ipsec saref = yes
force userspace = yes
[lns default]
ip range = 172.16.1.30-172.16.1.100
local ip = 172.16.1.1
refuse pap = yes
require authentication = yes
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes
require-mschap-v2
ms-dns 8.8.8.8
ms-dns 8.8.4.4
auth
mtu 1200
mru 1000
crtscts
hide-password
modem
name l2tpd
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4
Openswan (IPSec)
version 2.0
config setup
dumpdir=/var/run/pluto/
nat_traversal=yes
virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v6:fd00::/8,%v6:fe80::/10
protostack=netkey
oe=off
conn L2TP-PSK-NAT
rightsubnet=vhost:%priv
also=L2TP-PSK-noNAT
conn L2TP-PSK-noNAT
authby=secret
pfs=no
auto=add
keyingtries=8
ikelifetime=8h
keylife=1h
type=transport
left=%SERVERIP%
leftprotoport=17/1701
right=%any
rightprotoport=17/%any
%SERVERIP% %any: PSK "2FYjhC12qgs0i98Rcb0jVtVBmqrFBrInHqqsxf04zE5bP85Syxy2sUe3ZJmjeaHy"
alice l2tpd uye69opZ *
bob l2tpd cYKtyVSe *