Jump to content
Калькуляторы

настройка iptables iptables не пропускает http траф

Всем добрый день!

 

Есть скрипт, устанавливающий правила iptables.

 

Но почему-то после установки этих правил не пропускается трафик в интернет, хотя все вроде бы прописано и http, и https, и dns.

 

Никак не могу понять где накосячил?

 

Вот сам скрипт:

#!/bin/bash

IF_LAN="eth0"                       # интерфейс локальной сети
IF_EXT="eth1"                       # интерфейс интернет
IP_LAN="192.168.15.1"               # ip сервера в локальной сети
IP_ROUTER="192.168.15.2"            # ip роутера в локальной сети
LO_DNS=""                           # ip локального DNS-сервера
LO_SUBNET="192.168.15.0/24"         # локальная подсеть
IPT="/sbin/iptables"                # путь к iptables
IPT_SAVE="/sbin/iptables-save"      # путь к утилите для сохранения таблиц
SAVE_PATH="/etc/iptables-save"      # путь к файлу с сохраненными таблицами
UNPRIPORTS="1024:"             # непривелигированные порты


/sbin/modprobe ip_conntrack
/sbin/modprobe ip_tables
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_MASQUERADE


#/sbin/modprobe ipt_REJECT
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_conntrack_irc
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_nat_irc
#/sbin/modprobe nf_conntrack_netbios_ns

$IPT -F
$IPT -X

$IPT -t filter -P INPUT DROP
$IPT -t filter -P OUTPUT DROP
$IPT -t filter -P FORWARD DROP



# Разрешаем новые подключения с интерфейса lo к серверу.
$IPT -A INPUT -m state -i lo --state NEW -j ACCEPT
# Если интерфейс не lo, то запрещаем входить в список его адресов.
$IPT -A INPUT -s 127.0.0.1/255.0.0.0 ! -i lo -j DROP


$IPT -A INPUT -m state -i $IF_EXT --state ESTABLISHED,RELATED -j ACCEPT
$IPT -t nat -I PREROUTING -i $IF_EXT -s 10.0.0.1/32 -j ACCEPT
$IPT -A INPUT --fragment -p ICMP -j DROP 
$IPT -A OUTPUT --fragment -p ICMP -j DROP
$IPT -A INPUT -p icmp -m icmp -i $IF_EXT --icmp-type source-quench -j ACCEPT
$IPT -A OUTPUT -p icmp -m icmp -o $IF_EXT --icmp-type source-quench -j ACCEPT
$IPT -A INPUT -p icmp -m icmp -i $IF_EXT --icmp-type echo-reply -j ACCEPT
$IPT -A OUTPUT -p icmp -m icmp -o $IF_EXT --icmp-type echo-request -j ACCEPT
$IPT -A INPUT -p icmp -m icmp -i $IF_EXT --icmp-type parameter-problem -j ACCEPT
$IPT -A OUTPUT -p icmp -m icmp -o $IF_EXT --icmp-type parameter-problem -j ACCEPT
$IPT -A INPUT -p tcp -m tcp -i $IF_EXT --dport 6000:6063 -j DROP --syn

# DNS сервер имен разрешаем.
$IPT -A OUTPUT -p udp -m udp -o $IF_EXT --dport 53 --sport $UNPRIPORTS -j ACCEPT
$IPT -A OUTPUT -p tcp -m tcp -o $IF_EXT --dport 53 --sport $UNPRIPORTS -j ACCEPT
$IPT -A INPUT -p udp -m udp -m state --state ESTABLISHED,RELATED -i $IF_EXT --dport $UNPRIPORTS --sport 53 -j ACCEPT
$IPT -A INPUT -p tcp -m tcp -m state --state ESTABLISHED,RELATED -i $IF_EXT --dport $UNPRIPORTS --sport 53 -j ACCEPT

# Разрешаем AUTH-запросы на удаленные сервера, на свой же компьютер - запрещаем.
$IPT -A OUTPUT -p tcp -m tcp -o $IF_EXT --dport 113 --sport $UNPRIPORTS -j ACCEPT
$IPT -A INPUT -p tcp -m tcp -i $IF_EXT --dport $UNPRIPORTS --sport 113 -j ACCEPT ! --syn
$IPT -A INPUT -p tcp -m tcp -i $IF_EXT --dport 113 -j DROP
# SMTP клиент (25)
$IPT -A OUTPUT -p tcp -m tcp -o $IF_EXT --dport 25 --sport $UNPRIPORTS -j ACCEPT
$IPT -A INPUT -p tcp -m tcp -i $IF_EXT -m state --state ESTABLISHED,RELATED --dport $UNPRIPORTS --sport 25 -j ACCEPT ! --syn
# POP3 клиент (110)
$IPT -A OUTPUT -p tcp -m tcp -o $IF_EXT --dport 110 --sport $UNPRIPORTS -j ACCEPT
$IPT -A INPUT -p tcp -m tcp -i $IF_EXT -m state --state ESTABLISHED,RELATED --dport $UNPRIPORTS --sport 110 -j ACCEPT ! --syn
# IMAP4 клиент (143)
$IPT -A OUTPUT -p tcp -m tcp -o $IF_EXT --dport 143 --sport $UNPRIPORTS -j ACCEPT
$IPT -A INPUT -p tcp -m tcp -i $IF_EXT -m state --state ESTABLISHED,RELATED --dport $UNPRIPORTS --sport 143 -j ACCEPT ! --syn
# FPT клиент (21)
$IPT -A OUTPUT -p tcp -m tcp -o $IF_EXT --dport 21 --sport $UNPRIPORTS -j ACCEPT
$IPT -A INPUT -p tcp -m tcp -i $IF_EXT -m state --state ESTABLISHED,RELATED --dport $UNPRIPORTS --sport 21 -j ACCEPT ! --syn

# HTTP/HTTPS клиент (80, 443)
$IPT -A OUTPUT -p tcp -m tcp -m multiport -o $IF_EXT --sport $UNPRIPORTS -j ACCEPT --dports 80,443
$IPT -A INPUT -p tcp -m tcp -m multiport -m state --state ESTABLISHED,RELATED -i $IF_EXT --dport $UNPRIPORTS -j ACCEPT --sports 80,443



#dhcp клиент
#$IPT -A OUTPUT -o $IF_EXT -p UDP -s $LO_SUBNET --dport 67 -j ACCEPT
#$IPT -A INPUT -i $IF_EXT -p UDP -s $LO_SUBNET --sport 68 -j ACCEPT

Share this post


Link to post
Share on other sites

Я так понял, что вот это правило:

 

$IPT -t filter -P FORWARD DROP

 

тупо дропает весь транзитный трафик :)

Share this post


Link to post
Share on other sites
тупо дропает весь транзитный трафик :)
Ну так то политика по-умолчанию для всех цепочек.

Я пока пытаюсь пробиться с этой машины в инет, транзитный трафик пока неинтересен.

 

вроде бы разрешил http:

# HTTP/HTTPS клиент (80, 443)

$IPT -A OUTPUT -p tcp -m tcp -m multiport -o $IF_EXT --sport $UNPRIPORTS -j ACCEPT --dports 80,443

$IPT -A INPUT -p tcp -m tcp -m multiport -m state --state ESTABLISHED,RELATED -i $IF_EXT --dport $UNPRIPORTS -j ACCEPT --sports 80,443

разрешил DNS:

 

# DNS сервер имен разрешаем.

$IPT -A OUTPUT -p udp -m udp -o $IF_EXT --dport 53 --sport $UNPRIPORTS -j ACCEPT

$IPT -A OUTPUT -p tcp -m tcp -o $IF_EXT --dport 53 --sport $UNPRIPORTS -j ACCEPT

$IPT -A INPUT -p udp -m udp -m state --state ESTABLISHED,RELATED -i $IF_EXT --dport $UNPRIPORTS --sport 53 -j ACCEPT

$IPT -A INPUT -p tcp -m tcp -m state --state ESTABLISHED,RELATED -i $IF_EXT --dport $UNPRIPORTS --sport 53 -j ACCEPT

Че ему еще надо?

 

 

Share this post


Link to post
Share on other sites

Input & output - цепочки для пакетов предназначенных непосредственно хосту на котором IPT.

У вас http с этого компа не пашет? или с тех (того) ПК которые за iptables?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this