Jump to content

Recommended Posts

Posted

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

 

Есть скрипт, устанавливающий правила 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

Posted
тупо дропает весь транзитный трафик :)
Ну так то политика по-умолчанию для всех цепочек.

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

 

вроде бы разрешил 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

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

 

 

Posted

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

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.