LinuxForum.Fans
Тема

Подправьте если что не так

Автор: Kettler 20 сообщений 4645 просмотров
#155984

Накидал скрипт глянь а..
Гляньте скрипт может что подправить? Может что упустил.

text

#!/bin/bash

#ФОРВАРДИНГ echo "1" > /proc/sys/net/ipv4/ip_forward echo 1 > /proc/sys/net/ipv4/ip_dynaddr

#МОДУЛИ modprobe iptable_nat modprobe ip_conntrack_ftp modprobe ip_nat_ftp modprobe ip_conntrack_pptp

#ОЧИСТКА iptables -F iptables -F -t nat iptables -F -t mangle

#ПОЛИТИКА iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP

#Маршруты route add -net 192.168.128.0/24 gw 10.213.14.254 route add -host 10.213.1.63 gw 10.213.14.254 route add -host 10.213.17.14 gw 10.213.14.254 route add -host 10.213.47.18 gw 10.213.14.254 route add -host 10.213.6.182 gw 10.213.14.254 route add -host 192.168.131.111 gw 10.213.14.254

#МАСКАРДИНГ iptables --table nat --append POSTROUTING --out-interface eth3 -j SNAT --to-source 10.213.14.55 iptables --table nat --append POSTROUTING --out-interface ppp0 -j MASQUERADE iptables --table nat --append POSTROUTING --out-interface bond0 -j SNAT --to-source 192.168.0.1 iptables --table nat --append POSTROUTING --out-interface virbr1 -j SNAT --to-source 192.168.100.1 iptables --table nat --append POSTROUTING --out-interface tun0 -j SNAT --to-source 192.168.200.1 iptables --table nat --append POSTROUTING --out-interface tun1 -j SNAT --to-source 192.168.200.1 iptables --table nat --append POSTROUTING --out-interface tun2 -j SNAT --to-source 192.168.200.1 iptables --table nat --append POSTROUTING --out-interface tun3 -j SNAT --to-source 192.168.200.1 iptables --table nat --append POSTROUTING --out-interface tun4 -j SNAT --to-source 192.168.200.1

#МАППИНГ iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp --dport 873 -j DNAT --to-destination 192.168.100.100:873 iptables -t nat -A PREROUTING -p tcp --dport 8450 -j DNAT --to-destination 192.168.100.100:8450 iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp --dport 3389 -j DNAT --to-destination 192.168.100.100:3389 iptables -t nat -A PREROUTING -s 192.168.128.2 -p tcp --dport 3389 -j DNAT --to-destination 192.168.100.100:3389 iptables -t nat -A PREROUTING -s 10.213.1.63 -p tcp --dport 3389 -j DNAT --to-destination 192.168.100.100:3389

#web iptables -t nat -A PREROUTING -s 192.168.128.2 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.2:80 iptables -t nat -A PREROUTING -s 10.213.1.63 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.2:80

#ВЫРАВНИВАЕМ MTU iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

inet="ppp0" local="eth3"

#############Firewall############# # Отбрасывать все пакеты, которые не могут быть идентифицированы и поэтому не могут иметь определенного статуса. iptables -A INPUT -m state --state INVALID -j DROP iptables -A FORWARD -m state --state INVALID -j DROP

# Принимать все пакеты, которые инициированы из уже установленного соединения, и имеющим признак ESTABLISHED. # Состояние ESTABLISHED говорит о том, что это не первый пакет в соединении. iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# Приводит к связыванию системных ресурсов, так что реальных обмен данными становится не возможным. iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP iptables -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP

#ЛОКАЛЬНЫЙ ТРАФФИК iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT iptables -A INPUT -i bond0 -j ACCEPT iptables -A OUTPUT -o bond0 -j ACCEPT iptables -A INPUT -i virbr1 -j ACCEPT iptables -A OUTPUT -o virbr1 -j ACCEPT iptables -A INPUT -s 192.168.200.0/24 -j ACCEPT iptables -A OUTPUT -d 192.168.200.0/24 -j ACCEPT

# ICMP СЕРВЕР iptables -A INPUT -i $inet -p icmp -j ACCEPT iptables -A OUTPUT -o $inet -p icmp -j ACCEPT iptables -A INPUT -i $local -p icmp -j ACCEPT iptables -A OUTPUT -o $local -p icmp -j ACCEPT

#VTUN iptables -A INPUT -s 10.213.17.14 -j ACCEPT iptables -A OUTPUT -d 10.213.17.14 -j ACCEPT iptables -A INPUT -s 10.213.47.18 -j ACCEPT iptables -A OUTPUT -d 10.213.47.18 -j ACCEPT iptables -A INPUT -s 10.213.6.182 -j ACCEPT iptables -A OUTPUT -d 10.213.6.182 -j ACCEPT iptables -A INPUT -s 192.168.131.111 -j ACCEPT iptables -A OUTPUT -d 192.168.131.111 -j ACCEPT

#VTUN FORWARD iptables -A FORWARD -s 192.168.0.2 -d 192.168.200.0/24 -j ACCEPT iptables -A FORWARD -s 192.168.200.0/24 -d 192.168.0.2 -j ACCEPT

#VNC iptables -A INPUT -i $local -p tcp -m multiport --ports 5900,5901,5902,5903,5904,5905,5906 -j ACCEPT iptables -A OUTPUT -o $local -p tcp -m multiport --ports 5900,5901,5902,5903,5904,5905,5906 -j ACCEPT

# Разрешаем серверу http, https iptables -A INPUT -i $inet -p tcp --sport 80 -j ACCEPT iptables -A OUTPUT -o $inet -p tcp --dport 80 -j ACCEPT

iptables -A INPUT -i $inet -p tcp --sport 21 -j ACCEPT iptables -A OUTPUT -o $inet -p tcp --dport 21 -j ACCEPT

iptables -A INPUT -i $inet -p tcp --sport 443 -j ACCEPT iptables -A OUTPUT -o $inet -p tcp --dport 443 -j ACCEPT

iptables -A INPUT -i $inet -p udp --sport 53 -j ACCEPT iptables -A OUTPUT -o $inet -p udp --dport 53 -j ACCEPT

iptables -A INPUT -i $inet -p udp --sport 20 -j ACCEPT iptables -A OUTPUT -o $inet -p udp --dport 20 -j ACCEPT

iptables -A INPUT -i $local -p tcp --dport 22 -j ACCEPT iptables -A OUTPUT -o $local -p tcp --sport 22 -j ACCEPT

iptables -A INPUT -i $local -p udp --sport 53 -j ACCEPT iptables -A OUTPUT -o $local -p udp --dport 53 -j ACCEPT

#Разрешаем порты для l2tp iptables -A INPUT -i $local -p udp --dport 1701 --sport 1701 -j ACCEPT iptables -A OUTPUT -o $local -p udp --sport 1701 --dport 1701 -j ACCEPT iptables -A INPUT -i $local -p udp --dport 500 --sport 500 -j ACCEPT iptables -A OUTPUT -o $local -p udp --sport 500 --dport 500 -j ACCEPT iptables -A INPUT -i $local -p udp --dport 47 --sport 47 -j ACCEPT iptables -A OUTPUT -o $local -p udp --sport 47 --dport 17 -j ACCEPT

#############Шейпер#############

#Режем входящую NUMBERS_LAN="bond0 virbr1" for number_vl in `echo $NUMBERS_LAN` do tc qdisc del dev $number_vl root tc qdisc add dev $number_vl root handle 1: htb tc class add dev $number_vl parent 1: classid 1:1 htb rate 100Mbit

tc class add dev $number_vl parent 1:1 classid 1:200 htb rate 200Mbit ceil 200Mbit burst 15 tc class add dev $number_vl parent 1:1 classid 1:100 htb rate 100Mbit ceil 100Mbit burst 15 tc class add dev $number_vl parent 1:1 classid 1:90 htb rate 512Kbit ceil 512Kbit burst 15 tc class add dev $number_vl parent 1:1 classid 1:80 htb rate 128Kbit ceil 512Kbit burst 15

tc qdisc add dev $number_vl parent 1:200 handle 200: sfq perturb 10 tc qdisc add dev $number_vl parent 1:100 handle 100: sfq perturb 10 tc qdisc add dev $number_vl parent 1:90 handle 90: sfq perturb 10 tc qdisc add dev $number_vl parent 1:80 handle 80: sfq perturb 10

tc filter add dev $number_vl parent 1:0 protocol ip prio 1 handle 200 fw classid 1:200 tc filter add dev $number_vl parent 1:0 protocol ip prio 1 handle 100 fw classid 1:100 tc filter add dev $number_vl parent 1:0 protocol ip prio 2 handle 90 fw classid 1:90 tc filter add dev $number_vl parent 1:0 protocol ip prio 3 handle 80 fw classid 1:80 done

#Это всем нашим юзерам iptables -t mangle -A FORWARD -s 192.168.0.0/24 -o $inet -j MARK --set-mark 80 iptables -t mangle -A FORWARD -i $inet -d 192.168.0.0/24 -j MARK --set-mark 80 iptables -A FORWARD -s 192.168.0.0/24 -p tcp -m multiport --dport 110,25,143,1024,55777 -j ACCEPT iptables -A FORWARD -d 192.168.0.0/24 -p tcp -m multiport --sport 110,25,143,1024,55777 -j ACCEPT iptables -A FORWARD -s 192.168.0.0/24 -p udp -m multiport --dport 110,25,143,1024,55777 -j ACCEPT iptables -A FORWARD -d 192.168.0.0/24 -p udp -m multiport --sport 110,25,143,1024,55777 -j ACCEPT iptables -A FORWARD -s 192.168.0.0/24 -p icmp -j ACCEPT iptables -A FORWARD -d 192.168.0.0/24 -p icmp -j ACCEPT

#Разрешаем NETBIOS iptables -t mangle -A FORWARD -i bond0 -o eth3 -j MARK --set-mark 100 iptables -t mangle -A FORWARD -i eth3 -o bond0 -j MARK --set-mark 100 iptables -A FORWARD -i bond0 -o eth3 -p udp -m multiport --ports 135,136,137,138,139,445 -j ACCEPT iptables -A FORWARD -i bond0 -o eth3 -p tcp -m multiport --ports 135,136,137,138,139,445 -j ACCEPT iptables -A FORWARD -i eth3 -o bond0 -p udp -m multiport --ports 135,136,137,138,139,445 -j ACCEPT iptables -A FORWARD -i eth3 -o bond0 -p tcp -m multiport --ports 135,136,137,138,139,445 -j ACCEPT

#BACKUP PC iptables -t mangle -A FORWARD -s 192.168.0.2 -o $inet -j MARK --set-mark 90 iptables -t mangle -A FORWARD -i $inet -d 192.168.0.2 -j MARK --set-mark 90 iptables -A FORWARD -s 192.168.0.2 -o $inet -p tcp -m multiport --dport 80,8450,20,21 -j ACCEPT iptables -A FORWARD -i $inet -d 192.168.0.2 -p tcp -m multiport --sport 80,8450,20,21 -j ACCEPT

#BACKUP WEB iptables -t mangle -A FORWARD -s 10.213.1.63 -d 192.168.0.2 -j MARK --set-mark 100 iptables -t mangle -A FORWARD -s 192.168.0.2 -d 10.213.1.63 -j MARK --set-mark 100 iptables -A FORWARD -s 10.213.1.63 -d 192.168.0.2 -p tcp -m multiport --dport 80 -j ACCEPT iptables -A FORWARD -s 192.168.0.2 -d 10.213.1.63 -p tcp -m multiport --sport 80 -j ACCEPT

iptables -t mangle -A FORWARD -s 192.168.128.2 -d 192.168.0.2 -j MARK --set-mark 100 iptables -t mangle -A FORWARD -s 192.168.0.2 -d 192.168.128.2 -j MARK --set-mark 100 iptables -A FORWARD -s 192.168.128.2 -d 192.168.0.2 -p tcp -m multiport --dport 80 -j ACCEPT iptables -A FORWARD -s 192.168.0.2 -d 192.168.128.2 -p tcp -m multiport --sport 80 -j ACCEPT

#ТЕРМИНАЛЬНЫЙ СЕРВЕР iptables -t mangle -A FORWARD -i virbr1 -o eth3 -j MARK --set-mark 100 iptables -t mangle -A FORWARD -i eth3 -o virbr1 -j MARK --set-mark 100 iptables -A FORWARD -i virbr1 -o eth3 -j ACCEPT iptables -A FORWARD -i eth3 -o virbr1 -j ACCEPT

iptables -t mangle -A FORWARD -i virbr1 -o bond0 -j MARK --set-mark 200 iptables -t mangle -A FORWARD -i bond0 -o virbr1 -j MARK --set-mark 200 iptables -A FORWARD -i virbr1 -o bond0 -j ACCEPT iptables -A FORWARD -i bond0 -o virbr1 -j ACCEPT

iptables -t mangle -A FORWARD -s 192.168.100.0/24 -o $inet -j MARK --set-mark 90 iptables -t mangle -A FORWARD -i $inet -d 192.168.100.0/24 -j MARK --set-mark 90 iptables -A FORWARD -s 192.168.100.0/24 -o $inet -p tcp -m multiport --dport 80,8450,20,21 -j ACCEPT iptables -A FORWARD -i $inet -d 192.168.100.0/24 -p tcp -m multiport --sport 80,8450,20,21 -j ACCEPT iptables -A FORWARD -s 192.168.100.0/24 -p icmp -j ACCEPT iptables -A FORWARD -d 192.168.100.0/24 -p icmp -j ACCEPT

iptables -A FORWARD -i bond0 -o virbr1 -p tcp -m multiport --ports 3389,8450 -j MARK --set-mark 200 iptables -A FORWARD -i virbr1 -o bond0 -p tcp -m multiport --ports 3389,8450 -j MARK --set-mark 200 iptables -A FORWARD -i bond0 -o virbr1 -p tcp -m multiport --ports 3389,8450 -j ACCEPT iptables -A FORWARD -i virbr1 -o bond0 -p tcp -m multiport --ports 3389,8450 -j ACCEPT

iptables -A FORWARD -i eth3 -o virbr1 -p tcp -m multiport --ports 3389,8450 -j MARK --set-mark 100 iptables -A FORWARD -i virbr1 -o eth3 -p tcp -m multiport --ports 3389,8450 -j MARK --set-mark 100 iptables -A FORWARD -i eth3 -o virbr1 -p tcp -m multiport --ports 3389,8450 -j ACCEPT iptables -A FORWARD -i virbr1 -o eth3 -p tcp -m multiport --ports 3389,8450 -j ACCEPT

iptables -A FORWARD -i ppp0 -o virbr1 -p tcp -m multiport --ports 8450 -j MARK --set-mark 90 iptables -A FORWARD -i virbr1 -o ppp0 -p tcp -m multiport --ports 8450 -j MARK --set-mark 90 iptables -A FORWARD -i ppp0 -o virbr1 -p tcp -m multiport --ports 8450 -j ACCEPT iptables -A FORWARD -i virbr1 -o ppp0 -p tcp -m multiport --ports 8450 -j ACCEPT

#Режем исходящую tc qdisc del dev $inet root tc qdisc add dev $inet root handle 1: htb tc class add dev $inet parent 1: classid 1:1 htb rate 100Mbit

tc class add dev $inet parent 1:1 classid 1:90 htb rate 512Kbit ceil 512Kbit burst 15 tc class add dev $inet parent 1:1 classid 1:80 htb rate 128Kbit ceil 512Kbit burst 15

tc qdisc add dev $inet parent 1:80 handle 90: sfq perturb 10 tc qdisc add dev $inet parent 1:80 handle 80: sfq perturb 10

tc filter add dev $inet parent 1:0 protocol ip prio 1 handle 90 fw classid 1:90 tc filter add dev $inet parent 1:0 protocol ip prio 2 handle 80 fw classid 1:80

#156017

Kettler,

# Очистили цепочки
iptables -F
iptables -F -t nat
iptables -F -t mangle

# И удалили их
iptables -X
iptables -X -t nat
iptables -X -t mangle

Ну так для полноты, ведь если их очистили, они никуда не делись, потом заново они в скрипте создаются, так?

#156020

И вот не весть конечно что но отбрасывает немного:

iptables -N bad_tcp_packets
iptables -A bad_tcp_packets -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset
iptables -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "New not syn: "
iptables -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP


ы. Вот побольше drop списочек:

ptables -A INPUT -p icmp -m icmp --icmp-type 13 -j DROP
iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j DROP
iptables -A INPUT -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP
iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,RST FIN,RST -j DROP
iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,ACK FIN -j DROP
iptables -A INPUT -p tcp -m tcp --tcp-flags PSH,ACK PSH -j DROP
iptables -A INPUT -p tcp -m tcp --tcp-flags ACK,URG URG -j DROP
iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j REJECT --reject-with icmp-host-unreachable

Только от сканера портов:

# Защита от сканеров портов:
iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -j DROP

или

# любой пакет идущий на не 22,80 порт блокируется с ip адресом отправившим его на 120 секунд,
# на 120 секунд блокируется все пакеты с этого ip, тем самым предотвращается сканирование портов
iptables -A INPUT -m recent --rcheck --seconds 120 --name FUCKOFF -j DROP
iptables -A INPUT -p tcp -m multiport ! --dports 22,80 -m recent --set --name FUCKOFF -j DROP

#156034

newzenon чем флаги думаю лучше статус не?
А на счёт
iptables -A INPUT -m recent --rcheck --seconds 120 --name FUCKOFF -j DROP
iptables -A INPUT -p tcp -m multiport ! --dports 22,80 -m recent --set --name FUCKOFF -j DROP
подумаю

#156060

iptables -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "New not syn: "
мне это на фиг логирование

#156062

Kettler, тут видишь как, вроде как всё нормально, а вот кого - нибудь услышать с реальным "боевым" опытом.
Ну или отчеты о военных действиях. smile
А так в логи вешать, да поглядывать.
Хотя может это и лишние престраховки.

#156066

Это не лишнее и если бы надо было поверь настроил)
И вешать надо не на NEW а на ESTABLISHED

#156068

Сразу на -m state --state NEW,RELATED,ESTABLISHED

#156069

от NEW задолбаешься логи чтить wink

#156073

Kettler, просто из интереса - а маршруты у тебя для чего?

#156104

Локальная сеть прова. Обьединяю удалённые маршрутизаторы на линукс туннелями vtun
По vtun бежит nfs + snmp

#156445

Такой вот вариант:

text
iptables -A INPUT   -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

У себя сделал вот так:

text
iptables -A INPUT -p all  -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
#156578
newzenon написал:
Такой вот вариант:
text
iptables -A INPUT   -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

У себя сделал вот так:

text
iptables -A INPUT -p all  -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p all -m state --state ESTABLISHED,RELATED -j ACCEPT

смысл -p all ? ведь всё равно сработает ток не те порты которые открыты

#156625

Вот нарыл где-то:

text

#!/bin/sh

# Задаем некоторые переменные:

# Переменная, задающая путь к файлу запуска iptables. IPT="/sbin/iptables"

# Ваш сетевой интерфейс. Это нужно, чтобы не писать в правилах одно и тоже. INET_IFACE="ppp0"

# Номера непривилегированных портов UNPRIPORTS="1024:65535"

start_fw() { # Включить перенаправление пакетов через ядро. echo 1 > /proc/sys/net/ipv4/ip_forward # Сбросить правила и удалить цепочки. $IPT -F $IPT -X # Политики по умолчанию. $IPT -P INPUT DROP $IPT -P FORWARD ACCEPT $IPT -P OUTPUT DROP

# Разрешаем прохождение любого трафика по интерфейсу обратной петли. $IPT -A INPUT -i lo -j ACCEPT $IPT -A OUTPUT -o lo -j ACCEPT # Запрещаем любые новые подключения с любых интерфейсов, кроме lo к компьютеру. $IPT -A INPUT -m state ! -i lo --state NEW -j DROP # Если интерфейс не lo, то запрещаем входить в список его адресов. $IPT -A INPUT -s 127.0.0.1/255.0.0.0 ! -i lo -j DROP # Отбрасывать все пакеты, которые не могут быть идентифицированы и поэтому не могут иметь определенного статуса. $IPT -A INPUT -m state --state INVALID -j DROP $IPT -A FORWARD -m state --state INVALID -j DROP # Принимать все пакеты, которые инициированы из уже установленного соединения, и имеющим признак ESTABLISHED. # Состояние ESTABLISHED говорит о том, что это не первый пакет в соединении. $IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT $IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT # Предупреждаю вас о туповатых провайдерах, которые назначают IP адреса, отведенные IANA для локальных сетей. # Например адреса 10.X.X.X. Для этого надо установить правило, пропускающие трафик с этих серверов, ранее цепочки INPUT. $IPT -t nat -I PREROUTING -i $INET_IFACE -s 10.0.0.1/32 -j ACCEPT # Эти правила предохраняют от некоторых типов атак: # SYN наводнение. # Приводит к связыванию системных ресурсов, так что реальных обмен данными становится не возможным. $IPT -A INPUT -p tcp ! --syn -m state --state NEW -j DROP $IPT -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP # UDP наводнение # Службы использующие UDP, очень часто становятся мишенью для атак с целью вывода системы из строя. $IPT -A INPUT -p UDP -s 0/0 --destination-port 138 -j DROP $IPT -A INPUT -p UDP -s 0/0 --destination-port 113 -j REJECT $IPT -A INPUT -p UDP -s 0/0 --source-port 67 --destination-port 68 -j ACCEPT $IPT -A INPUT -p UDP -j RETURN $IPT -A OUTPUT -p UDP -s 0/0 -j ACCEPT # ICMP - перенаправление # ICMP - сообщение указывает системе изменить содержимое таблиц маршрутизации с тем, что бы направлять # пакеты по более короткому маршруту. Может быть использовано взломщиком для перенаправления вашего трафика через свою машину. $IPT -A INPUT --fragment -p ICMP -j DROP $IPT -A OUTPUT --fragment -p ICMP -j DROP # Разрешаем ICMP соединение. Значительная часть ICMP используется для передачи сообщений о # том, что происходит с тем или иным UDP или TCP соединением. $IPT -A INPUT -p icmp -m icmp -i $INET_IFACE --icmp-type source-quench -j ACCEPT $IPT -A OUTPUT -p icmp -m icmp -o $INET_IFACE --icmp-type source-quench -j ACCEPT # Разрешаем себе ping наружу - нас же не попингуешь - пакеты отбрасываются. $IPT -A INPUT -p icmp -m icmp -i $INET_IFACE --icmp-type echo-reply -j ACCEPT $IPT -A OUTPUT -p icmp -m icmp -o $INET_IFACE --icmp-type echo-request -j ACCEPT

# Разрешаем передачу пакета - некорректный параметр - используется, если в заголовке пакета содержится недопустимая запись, # или если контрольная сумма заголовка не соответствует контрольной сумме, указанной передающим узлом. $IPT -A INPUT -p icmp -m icmp -i $INET_IFACE --icmp-type parameter-problem -j ACCEPT $IPT -A OUTPUT -p icmp -m icmp -o $INET_IFACE --icmp-type parameter-problem -j ACCEPT

# Запрещаем подключение к X серверу через сетевые интерфейсы. $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport 6000:6063 -j DROP --syn # Прописываем порты, которые открыты в системе, но которые не должны быть открыты на сетевых интерфейсах: # $IPT -A INPUT -p tcp -m tcp -m multiport -i $INET_IFACE -j DROP --dports #порта $IPT -A INPUT -p tcp -m tcp -m multiport -i $INET_IFACE -j DROP --dports 783 $IPT -A INPUT -p tcp -m tcp -m multiport -i $INET_IFACE -j DROP --dports 3310 $IPT -A INPUT -p tcp -m tcp -m multiport -i $INET_IFACE -j DROP --dports 10000 # DNS сервер имен разрешаем. $IPT -A OUTPUT -p udp -m udp -o $INET_IFACE --dport 53 --sport $UNPRIPORTS -j ACCEPT $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 53 --sport $UNPRIPORTS -j ACCEPT $IPT -A INPUT -p udp -m udp -i $INET_IFACE --dport $UNPRIPORTS --sport 53 -j ACCEPT $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport 1024:65353 --sport 53 -j ACCEPT # Разрешаем AUTH-запросы на удаленные сервера, на свой же компьютер - запрещаем. $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 113 --sport $UNPRIPORTS -j ACCEPT $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 113 -j ACCEPT ! --syn $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport 113 -j DROP # Открываем некоторые порты: # SMTP клиент (25) $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 25 --sport $UNPRIPORTS -j ACCEPT $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 25 -j ACCEPT ! --syn # POP3 клиент (110) $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 110 --sport $UNPRIPORTS -j ACCEPT $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 110 -j ACCEPT ! --syn # IMAP4 клиент (143) $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 143 --sport $UNPRIPORTS -j ACCEPT $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 143 -j ACCEPT ! --syn # SSH клиент (22) $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 22 --sport $UNPRIPORTS -j ACCEPT $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 22 -j ACCEPT ! --syn $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 22 --sport 1020:1023 -j ACCEPT $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport 1020:1023 --sport 22 -j ACCEPT ! --syn # FPT клиент (21) $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 21 --sport $UNPRIPORTS -j ACCEPT $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 21 -j ACCEPT ! --syn # HTTP/HTTPS клиент (80, 443) $IPT -A OUTPUT -p tcp -m tcp -m multiport -o $INET_IFACE --sport $UNPRIPORTS -j ACCEPT --dports 80,443 $IPT -A INPUT -p tcp -m tcp -m multiport -i $INET_IFACE --dport $UNPRIPORTS -j ACCEPT --sports 80,443 ! --syn # Разрешаем finger, whois, gorper, wais. Traceroute - разрешаем себе, к нам не проломятся - запрещено. Telnet # запретил, чтобы соблазна не было передавать пароли прямым текстом. $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 20 -j ACCEPT $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 20 --sport $UNPRIPORTS -j ACCEPT ! --syn $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport $UNPRIPORTS --sport $UNPRIPORTS -j ACCEPT $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport $UNPRIPORTS -j ACCEPT ! --syn $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 23 --sport $UNPRIPORTS -j ACCEPT $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 23 -j ACCEPT ! --syn $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 79 --sport $UNPRIPORTS -j ACCEPT $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 79 -j ACCEPT ! --syn $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 43 --sport $UNPRIPORTS -j ACCEPT $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 43 -j ACCEPT ! --syn $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 70 --sport $UNPRIPORTS -j ACCEPT $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 70 -j ACCEPT ! --syn $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 210 --sport $UNPRIPORTS -j ACCEPT $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 210 -j ACCEPT ! --syn $IPT -A OUTPUT -p udp -m udp -o $INET_IFACE --dport 33434:33523 --sport 32769:65535 -j ACCEPT # Разрешаем прохождение DHCP запросов через iptables. Нужно, если IP адрес динамический. $IPT -A OUTPUT -p udp -m udp -o $INET_IFACE --dport 67 --sport 68 -j ACCEPT $IPT -A INPUT -p udp -m udp -i $INET_IFACE --dport 68 --sport 67 -j ACCEPT }

case "$1" in start) echo -n "Starting firewall: iptables" start_fw echo "." ;; stop) echo -n "Stopping firewall: iptables" iptables -F iptables -X echo "." ;; save) echo -n "Saving firewall: iptables" iptables-save > /etc/rules-save echo "." ;; restart) echo -n "Restarting firewall: iptables" iptables -F iptables -X cat /etc/rules-save | iptables-restore echo "." ;; reload|force-reload) echo -n "Reloading configuration files for firewall: iptables" echo "." ;; *) echo "Usage: /etc/init.d/rc.iptables start|stop|restart|reload|force-reload" exit 1 ;; esac exit 0

#156627

На данных примерах сам разбирался

#156629

А ты торренты как открываешь?

#156631

Дома

text

# Разрешаем torrent
iptables -A INPUT -i ppp0 -p tcp --sport 51413 -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --dport 51413 -j ACCEPT
iptables -A INPUT -i ppp0 -p udp --sport 51413 -j ACCEPT
iptables -A OUTPUT -o ppp0 -p udp --dport 51413 -j ACCEPT
iptables -A INPUT -i ppp0 -p tcp -m multiport  --ports 49152:65535 -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp -m multiport  --ports 49152:65535 -j ACCEPT

Ну и конечно клиент настроен на заданные порты у меня transmision daemon

#156632

51413 - веб-морда?

#156635

нет
peer-port - 51413
web морда - 9091

peer-port-random-high - 65535
peer-port-random-low - 49152

#156638
Kettler написал:
peer-port - 51413

У меня deluge, peer-port она сама как-то выставляет.
Просто не пойму почему из стандартных 6881:6899
не хочет брать ставлю больше 49999 - нормально работает.

Войдите или зарегистрируйтесь, чтобы ответить.