Author Topic: Вопрос по iptables  (Read 3011 times)

0 Members and 1 Guest are viewing this topic.

Offline FireWall

  • Newbie
  • *
  • Posts: 29
  • Karma: +0/-0
Вопрос по iptables
« on: February 15, 2008, 10:16:49 »
Тут создал правила для фаера есть следующая проблема.
Стоит роутер, за ним 2 машины(LAN) из сети инет есть друг друга машины видять. Также настроен pptpd на роутере, даю ИП из того же диапазона IP что и для LAN(для pptpd 192.168.1.10, клиенты получают 192.168.1.234-250 ). Машина зацепившаяся по VPN отлично работает, NAT работает, но не видно внутренних машин(192.168.1.2-192.168.1.3), т.е. не могу влесть с рабочей машины подключившейся к роутеру по ВПН на машину в сети. Подскажите где упустил чего? И заодно посмотрите, посоветуйте пожалуйста мож я чего не верно сделал? Есть ли дыры, а может как-то снизить можно нагрузку на проц при текущих правилах. Заранее всем огромное спасибо.

#!/bin/bash
#
IPTABLES="iptables"
EXT_IFACE="eth0" - WAN
LAN_IFACE="eth1" - LAN
EXT_IP="СтатичныйIP"
LAN_IP="192.168.1.0/24"
VPN_RANGE="192.168.10.0/24"
TOMSK=/home/langs/bash/nets - томские сети

#Clear rules

$IPTABLES -F
$IPTABLES -t nat -F

#Default rules
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD DROP

#Only LAN work with services, close for all
$IPTABLES -I INPUT 1 -i $LAN_IFACE -j ACCEPT
$IPTABLES -I INPUT 1 -i lo -j ACCEPT
$IPTABLES -A INPUT -p UDP --dport bootps -i ! $LAN_IFACE -j REJECT
$IPTABLES -A INPUT -p UDP --dport domain -i ! $LAN_IFACE -j REJECT

#Open SSH для работы
$IPTABLES -A INPUT -s ТУТ_ИП_С_РАБОТЫ -p TCP --dport ssh -i $EXT_IFACE -j ACCEPT
$IPTABLES -A INPUT -s ТУТ_ИП_С_РАБОТЫ -p TCP --dport 1723 -i $EXT_IFACE -j ACCEPT

#Open SSH for local
$IPTABLES -A INPUT -s 192.168.1.2 -p TCP --dport ssh -i $EXT_IFACE -j ACCEPT

#Rules for NAT
$IPTABLES -A FORWARD -i $LAN_IFACE -s $LAN_IP -j ACCEPT
$IPTABLES -A FORWARD -i $EXT_IFACE -d $LAN_IP -j ACCEPT
$IPTABLES -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPTABLES -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

#Only tomsk - блокирую внеху
for name in $(awk '{print $1}' < "$TOMSK")
    do
        $IPTABLES -t nat -A POSTROUTING -d $name -o $EXT_IFACE -j MASQUERADE
        let "n+=1"
    done

#On 192.168.1.2--тут пробрасываю порты на машины в сети
#ftp
$IPTABLES -t nat -A PREROUTING -p tcp --dport 21 -i $EXT_IFACE -j DNAT --to 192.168.1.2
#torretnt
$IPTABLES -t nat -A PREROUTING -p tcp --dport 4949 -i $EXT_IFACE -j DNAT --to 192.168.1.2
$IPTABLES -t nat -A PREROUTING -p tcp --dport 4950 -i $EXT_IFACE -j DNAT --to 192.168.1.3

#Radmin server on 192.168.1.2
$IPTABLES -t nat -A PREROUTING -p tcp --dport 4899 -i $EXT_IFACE -j DNAT --to 192.168.1.2

#VPN-NAT
$IPTABLES -A FORWARD -s $VPN_RANGE -j ACCEPT
$IPTABLES -t nat -A POSTROUTING -o $EXT_IFACE -s $VPN_RANGE -j SNAT --to-source $EXT_IP
$IPTABLES -A INPUT -p gre -j ACCEPT

#IP-forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
for f in /proc/sys/net/ipv4/conf/*/rp_filter ; do echo 1 > $f ; done

#Save configs
$IPTABLES-save
« Last Edit: February 15, 2008, 12:11:07 by FireWall »

Offline FireWall

  • Newbie
  • *
  • Posts: 29
  • Karma: +0/-0
Вопрос по iptables
« Reply #1 on: February 15, 2008, 10:31:48 »
Спасибо GmbH, подсказал что надо для ВПН раздавать другие IP, так и сделал, все заработало. Кто что скажет по поводу самих правил? Мож проще чего можно было сделать?