The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Шлюз centOS 5.4 (iptables+dns+squid+sard+dhcp+webmin+asterisk)"
Отправлено refto, 25-Мрт-10 09:30 
Пытаюсь поднять шлюз на CentOS 5.4 (iptables+dns+squid+sard+dhcp+webmin+asterisk)

вроде все сделал...на серваке инет есть а на клиенских машинах нет...внешка с них пигуется тока по ip...скорее всего что в iptables...но не пойму где)))

на серваке запущен кеширующий DNS сервер

eth0-инет 111.111.111.111
eth1-локалка 10.0.0.1

iptables

#!/bin/sh
IPTABLES="/sbin/iptables"

# Очищаем все правила в таблицах filter, nat и mangle
$IPTABLES -t filter -F
$IPTABLES -t nat -F
$IPTABLES -t mangle -F

# Удаляем все пользовательские цепочки в таблицах filter, nat и mangle
$IPTABLES -t filter -X
$IPTABLES -t nat -X
$IPTABLES -t mangle -X

# Задаем политики по умолчанию
$IPTABLES -t filter -P INPUT DROP
$IPTABLES -t filter -P FORWARD DROP
$IPTABLES -t filter -P OUTPUT DROP

# Создаем пользовательские цепочки.
$IPTABLES -N eth0-eth1
$IPTABLES -N eth1-eth0
$IPTABLES -N eth1-out
$IPTABLES -N eth0-out
$IPTABLES -N eth1-in
$IPTABLES -N eth0-in
$IPTABLES -N icmp_packets

# Направляем все входящие пакеты в соответствующие цепочки.
$IPTABLES -A INPUT -d 111.111.111.111 -j eth0-in
$IPTABLES -A INPUT -d 10.0.0.1 -j eth1-in

# Направляем все исходящие пакеты в соответствующие цепочки.
$IPTABLES -A OUTPUT -s 111.111.111.111 -j eth0-out
$IPTABLES -A OUTPUT -s 10.0.0.1 -j eth1-out

# Разрешаем весь трафик с петлевого интерфейса.
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT

# Разрешаем следующие типы icmp пакетов.
$IPTABLES -A icmp_packets -p icmp --icmp-type 0 -j ACCEPT
$IPTABLES -A icmp_packets -p icmp --icmp-type 3 -j ACCEPT
$IPTABLES -A icmp_packets -p icmp --icmp-type 8 -j ACCEPT
$IPTABLES -A icmp_packets -p icmp --icmp-type 11 -j ACCEPT

# Для удобства фильтрации, направляем все транзитные пакеты,
# в соответствующие цепочки.
# eth0-eth1 мир -> локальная сеть
# eth1-eth0 локальная сеть -> мир
$IPTABLES -A FORWARD -i eth0 -o eth1 -j eth0-eth1
$IPTABLES -A FORWARD -i eth1 -o eth0 -j eth1-eth0

# eth0-eth1. В данную цепочку попадают все транзитные пакеты,
# направленные из мира в локальную сеть.
$IPTABLES -A eth0-eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPTABLES -A eth0-eth1 -j DROP

# eth1-eth0. В данную цепочку попадают все транзитные пакеты,
# направленные из локальной сети в мир.
$IPTABLES -A eth1-eth0 -p icmp -j icmp_packets
$IPTABLES -A eth1-eth0 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
$IPTABLES -A eth1-eth0 -j DROP

# eth1-in. В данной цепочке открываем порты тех служб, которые
# должны быть доступны на сервере из локальной сети.
$IPTABLES -A eth1-in -p icmp -j icmp_packets
$IPTABLES -A eth1-in -p udp --dport 53 -j ACCEPT #DNS
$IPTABLES -A eth1-in -p tcp --dport 80 -j ACCEPT #http
$IPTABLES -A eth1-in -p tcp --dport 3128 -j ACCEPT #SQUID
$IPTABLES -A eth1-in -p tcp --dport 5060 -j ACCEPT #SIP
$IPTABLES -A eth1-in -j DROP

# eth0-in. В данной цепочке открываем порты тех служб, которые
# должны быть доступны на сервере из мира. Например www, smtp, ftp
$IPTABLES -A eth0-in -p icmp -j icmp_packets
$IPTABLES -A eth0-in -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPTABLES -A eth0-in -j DROP

# eth1-out.
$IPTABLES -A eth1-out -p icmp -j icmp_packets
$IPTABLES -A eth1-out -p udp --dport 53 -j ACCEPT
$IPTABLES -A eth1-out -p tcp -m multiport --dport 22,80,443 -j ACCEPT
$IPTABLES -A eth1-out -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPTABLES -A eth1-out -j DROP

# eth0-out.
$IPTABLES -A eth0-out -p icmp -j icmp_packets
$IPTABLES -A eth0-out -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPTABLES -A eth0-out -j DROP

# Производим сетевую трансляцию адресов (NAT)
$IPTABLES -t nat -A POSTROUTING -s 10.0.0.1/24 -o eth0 -j SNAT --to-source 111.111.111.111


# "Заварачиваем" весь http трафик на squid.
$IPTABLES -t nat -A PREROUTING -s 10.0.0.1/24 -i eth1 -p tcp -m multiport --dport 80,8080 -j REDIRECT --to-ports 3128

squid.conf

http_port 10.0.0.1:3128 transparent
hierarchy_stoplist cgi-bin, chat
cache_mem 128 MB
maximum_object_size 128 MB
ftp_user anonymous
negative_ttl 1 minutes
positive_dns_ttl 1 hours
negative_dns_ttl 5 minutes
visible_hostname gateway
emulate_httpd_log off
access_log /var/log/squid/access.log squid
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
cache_dir ufs /var/spool/squid 1024 32 128
acl all src  0.0.0.0/0.0.0.0
acl inet_user src 10.0.0.0/24 192.168.1.0/24
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https, snews

acl CONNECT method CONNECT
http_access allow inet_user
http_access deny all

error_directory /usr/share/squid/errors/English

resolv.conf

nameserver 127.0.0.1
search localdomain

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру