HITMAN
Зарегистрирован: 30.06.2004 Сообщения: 161
|
Добавлено: Ср Мар 26 2008 11:21 Заголовок сообщения: Vpn сервер на Linux или как раздать инет vpn-клиентам |
|
|
Есть Сервер на базе Ubuntu 7.10
На нём поднят впн сервер на pptpd
есть 3 интерфейса :
локаль (сервер в корпоративной сети), инет основной и инет резервный и ещё спн подключение к удалённому офису.
Задумка такова:
Пользователь подключается к впн серверу и получает доступ в инет через нат корпоративного сервака.
адреса локальной сети 192.168...
адреса которые выдает впн сервер 10.0.0.x
При подключении к впн ползователь может использовать как резервный канал так и основной.
Подключение к впн проходит только от пользователей из локальной сети.. а вот из внешки не пускает хотя ВРОДЕ в iptables всё разрешено, а вот инета нету.
Вот конфиг iptables:
Код: |
#!/bin/bash
gip="внешний_основной"
#gip=""
gif="eth2"
#gif=""
iip="192.168.8.2"
iif="eth0"
inet="192.168.8.0/21"
HiTMAN_IP="192.168.8.10 192.168.8.8 192.168.9.254 192.168.8.1 192.168.8.161 192.168.8.3 192.168.9.27 10.0.0.2 192.168.8.9"
#10.0.0.2 это адрес который получает подключившийся по впн клиент
UNIVERSE="0.0.0.0/0"
#Flush rules
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -t nat -F
#Allow ssh
iptables -A INPUT -p tcp --dport 1022 -m state --state NEW -j ACCEPT
#iptables -A INPUT -m mac --mac-source 00:1d:60:63:66:f7 -j DROP
#Default to deny
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
#Allow icmp
iptables -A INPUT -p icmp -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT
#Allow vpn-server
iptables -A INPUT -p gre -j ACCEPT
#Allow incoming established tcp/udp connections
#Allow outgoing new and established connections
iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p tcp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p udp -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p udp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
#Allow ipforwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
#Allow internal traffic
iptables -A INPUT -i lo -s $UNIVERSE -d $UNIVERSE -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -i $iif -s $inet -d $UNIVERSE -j ACCEPT
iptables -A OUTPUT -o $iif -j ACCEPT
iptables -A INPUT -i eth3 -j ACCEPT
iptables -A OUTPUT -o eth3 -j ACCEPT
#Allow VPN
iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
iptables -A INPUT -p tcp --sport 1723 -j ACCEPT
iptables -A INPUT -s 195.68.145.130 -j ACCEPT
iptables -A OUTPUT -d 195.68.145.130 -j ACCEPT
iptables -A INPUT -i ppp1 -s $UNIVERSE -d $UNIVERSE -j ACCEPT
iptables -A OUTPUT -o ppp1 -s $UNIVERSE -d $UNIVERSE -j ACCEPT
###############################################################
iptables -A INPUT -i ppp2 -s $UNIVERSE -d $UNIVERSE -j ACCEPT
iptables -A OUTPUT -o ppp2 -s $UNIVERSE -d $UNIVERSE -j ACCEPT
###############################################################
#на этом серваке есть ещё впн клиент в другую локалку.. эти правила в частности для него
#Deny ip spoofing
iptables -A INPUT -i $gif -s $inet -d $UNIVERSE -j DROP
#Allow mail & dns
iptables -A INPUT -p tcp -s $UNIVERSE -m multiport --dport 25,110,53 -j ACCEPT
iptables -A INPUT -p udp -s $UNIVERSE --dport 53 -j ACCEPT
iptables -A FORWARD -i $gif -o $iif -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i ppp1 -o $iif -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i ppp0 -o $iif -m state --state ESTABLISHED,RELATED -j ACCEPT
##################################################################################
iptables -A FORWARD -i ppp2 -o $gif -m state --state ESTABLISHED,RELATED -j ACCEPT
##################################################################################
iptables -A FORWARD -i $iif -o ppp0 -j ACCEPT
iptables -A FORWARD -i $iif -o ppp1 -j ACCEPT
iptables -A FORWARD -i $iif -o $gif -j ACCEPT
#############################################
iptables -A FORWARD -i $gif -o ppp2 -j ACCEPT
#############################################
#NAT
iptables -t nat -A POSTROUTING -s $YU_IP -d 88.147.150.53 -o ppp0 -j MASQUERADE
for i in $HiTMAN_IP $YU_IP; do
iptables -t nat -A POSTROUTING -s $i -o $gif -j SNAT --to-source $gip
done
iptables -t nat -A POSTROUTING -s 192.168.8.0/21 -d 195.68.145.130 -o $gif -j SNAT --to-source $gip
iptables -t nat -A POSTROUTING -s 192.168.8.0/21 -d hasp2008.indorsoft.ru -o $gif -j SNAT --to-source $gip
iptables -t nat -A POSTROUTING -s 192.168.8.0/21 -d 192.168.0.0/21 -o ppp1 -j SNAT --to-source 192.168.0.240
iptables -t nat -A POSTROUTING -s 192.168.8.0/21 -d 87.245.140.180 -o $gif -j SNAT --to-source $gip
iptables -t nat -A POSTROUTING -s 192.168.8.254 -d 217.65.219.155 -o $gif -j SNAT --to-source $gip
|
Собственно где подвох? помогите плиз.. _________________ Лишь сомнения ведут к пробуждениям |
|