Ven 0 Опубликовано: 2004-09-24 21:12:17 Share Опубликовано: 2004-09-24 21:12:17 Банальный NAT: /etc/rc.d/rc.firewall #Закрываем все нафиг iptables -P INPUT DROP iptables -P FORWARD DROP #Открываем кусочек iptables -A INPUT -i eth1 -s 192.168.1.0/24 -j ACCEPT #eth0 - внешний инерфейс, он имеет айпи 10.0.5.210 iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j SNAT --to-source 10.0.5.210 Что должен содержать файл /etc/stargazer/OnConnect кроме двух строк iptables -A FORWRD -i eth1 -s $clientip -j ACCEPT iptables -A FORWRD -d $clientip -j ACCEPT для того, чтобы работал NAT? Если нужны еще какие-то строки для iptables - скажите плиз какие именно. По-мойму, не хватает чего-то типа ip=$clientip и подобной хренотени. Ссылка на сообщение Поделиться на других сайтах
Гость Guest Опубліковано: 2004-09-25 08:50:06 Share Опубліковано: 2004-09-25 08:50:06 Привожу пример своих firewall #!/bin/bash #external ip ip1="x.x.x.x" #internal ip ip2="x.x.x.x" echo "1" > /proc/sys/net/ipv4/ip_forward /sbin/modprobe ip_conntrack_ftp /sbin/modprobe ip_nat_ftp # iptables -t filter -F iptables -t filter -X iptables -t nat -F iptables -t nat -X iptables -t filter -P INPUT DROP iptables -t filter -P FORWARD DROP iptables -t filter -P OUTPUT DROP iptables -t filter -A INPUT -i $EXT_IFACE -d $ip1 -j ACCEPT iptables -t filter -A INPUT -i $EXT_IFACE -d $ip2 -j ACCEPT iptables -t filter -A OUTPUT -s 127.0.0.1 -j ACCEPT iptables -t filter -A OUTPUT -s $ip1 -j ACCEPT iptables -t filter -A OUTPUT -s $ip2 -j ACCEPT #lo iptables -t filter -A INPUT -d 127.0.0.1 -j ACCEPT iptables -t filter -A OUTPUT -s 127.0.0.1 -j ACCEPT #r1 iptables -t filter -A INPUT -d $ip1 -j ACCEPT iptables -t filter -A OUTPUT -s $ip1 -j ACCEPT #r2 iptables -t filter -A INPUT -d $ip2 -j ACCEPT iptables -t filter -A OUTPUT -s $ip2 -j ACCEPT #DNS #iptables -t filter -A INPUT -p tcp --sport 53 -j ACCEPT iptables -t filter -A FORWARD -p tcp --sport 53 -j ACCEPT iptables -t filter -A FORWARD -p tcp --dport 53 -j ACCEPT #iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT #iptables -t filter -A INPUT -p udp --sport 53 -j ACCEPT iptables -t filter -A FORWARD -p udp --sport 53 -j ACCEPT iptables -t filter -A FORWARD -p udp --dport 53 -j ACCEPT #iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT #authorizer iptables -t filter -A INPUT -p udp -s 0.0.0.0/0 --sport 5555 -d $servip1 --dport 5555 -j REJECT iptables -t filter -A OUTPUT -p udp -d 0.0.0.0/0 --dport 5555 -s $servip1 --sport 5555 -j REJECT iptables -t filter -A INPUT -p udp -s 0.0.0.0/0 --sport 5555 -d $servip2 --dport 5555 -j ACCEPT iptables -t filter -A OUTPUT -p udp -d 0.0.0.0/0 --dport 5555 -s $servip2 --sport 5555 -j ACCEPT #untruster ports iptables -t filter -I INPUT -p tcp -d $ip2 --dport 5555 -j REJECT iptables -t filter -I INPUT -p tcp -d $ip2 -s x.x.x.x --dport 5555 -j ACCEPT OnConnect #!/bin/sh # Lnogin LOGIN=$1 echo $2 IP=$2 CASH=$3 ID=$4 #echo "connect" >> /tmp/qqq iptables -t filter -A INPUT -s $IP -j ACCEPT iptables -t filter -A FORWARD -s $IP -j ACCEPT iptables -t filter -A FORWARD -d $IP -j ACCEPT iptables -t filter -A OUTPUT -d $IP -j ACCEPT #echo "Connect login=$LOGIN ip=$IP cash=$CASH id=$ID" >> /tmp/connect OnDisconnect #!/bin/bash LOGIN=$1 ip=$2 CASH=$3 ID=$4 #echo "disconnect" >> /tmp/test iptables -t filter -D INPUT -s $ip -j ACCEPT while [ $? -eq 0 ] do iptables -t filter -D INPUT -s $ip -j ACCEPT done ################################## iptables -t filter -D FORWARD -s $ip -j ACCEPT while [ $? -eq 0 ] do iptables -t filter -D FORWARD -s $ip -j ACCEPT done ################################## iptables -t filter -D FORWARD -d $ip -j ACCEPT while [ $? -eq 0 ] do iptables -t filter -D FORWARD -d $ip -j ACCEPT done ################################## iptables -t filter -D OUTPUT -d $ip -j ACCEPT while [ $? -eq 0 ] do iptables -t filter -D OUTPUT -d $ip -j ACCEPT done #echo "Disconnect login=$LOGIN ip=$ip cash=$CASH id=$ID" >> /tmp/disconnect POSTROUTING #!/bin/bash IPT=/sbin/iptables IP="x.x.x.x" LAN="192.168.x.x/24" $IPT -A POSTROUTING -t nat -s $LAN -j SNAT --to-source $IP Может где ошибся так что необессудьте. Ссылка на сообщение Поделиться на других сайтах
S_ergey 21 Опубліковано: 2004-09-25 08:52:12 Share Опубліковано: 2004-09-25 08:52:12 Выше был я. Скрипты брал в инете. Ссылка на сообщение Поделиться на других сайтах
Ven 0 Опубліковано: 2004-09-25 21:33:13 Автор Share Опубліковано: 2004-09-25 21:33:13 Спасибо что отозвался, но это что-то злобное. Народ, еще будут варианты? Я думал что мне сразу помогут в этом вопросе...все же используют этот файлик по идее... Ссылка на сообщение Поделиться на других сайтах
Гость Guest Опубліковано: 2004-09-26 11:31:00 Share Опубліковано: 2004-09-26 11:31:00 в /etc/sysctl.conf пропиши строку net.ipv4.ip_forward=1 если прописано то в /etc/stargazer/OnConnect после строчек iptables -A FORWRD -i eth1 -s $clientip -j ACCEPT iptables -A FORWRD -d $clientip -j ACCEPT пишеш iptables -t nat -I POSTROUTING 1 -s $2 -j SNAT --to-source 10.0.5.210 в /etc/stargazer/OnDisonnect iptables -t nat -D POSTROUTING 1 -s $2 -j SNAT --to-source 10.0.5.210 все должно быть ОК Ссылка на сообщение Поделиться на других сайтах
nn 7 Опубліковано: 2004-10-22 06:19:52 Share Опубліковано: 2004-10-22 06:19:52 в /etc/sysctl.conf пропиши строкуnet.ipv4.ip_forward=1 если прописано то в /etc/stargazer/OnConnect после строчек iptables -A FORWRD -i eth1 -s $clientip -j ACCEPT iptables -A FORWRD -d $clientip -j ACCEPT пишеш iptables -t nat -I POSTROUTING 1 -s $2 -j SNAT --to-source 10.0.5.210 в /etc/stargazer/OnDisonnect iptables -t nat -D POSTROUTING 1 -s $2 -j SNAT --to-source 10.0.5.210 все должно быть ОК Эти скрипты могут пропускать трафик для незаконченных сессий. Надо чтобы политика по умолчанию в DROP была для FORWARD. Если просто, то надо, чтобы в Firewall: /sbin/iptables -F; iptables -t nat -F; iptables -t mangle -F /sbin/iptables -t filter -P FORWARD DROP Включаем форвардинг и маскарадинг в: OnConnect iptables -t filter -A FORWARD -s $2 -j ACCEPT iptables -t filter -A FORWARD -d $2 -j ACCEPT iptables -t nat -A POSTROUTING -o eth1 -s $2 -j MASQUERADE И выключаем в: OnDisconnect iptables -t filter -D FORWARD -s $2 -j ACCEPT iptables -t filter -D FORWARD -d $2 -j ACCEPT iptables -t nat -D POSTROUTING -o eth1 -s $2 -j MASQUERADE Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас