Добрый день!

Имеется:
- CentOS 5.6 x32
- CakeBilling v1.0
- Squid v3
- кеширующий DNS

Требуется настроить:
- NAT
- прохождение DNS запросов к серверу с локальной сети
- редирект с 3128 порта на 80 порт

Спасибо!

2

Быть может с такой формулировкой вопроса Вам лучше бы в раздел "Работа"?

3

Нет, у меня есть вот такие правила:
#!/bin/bash

iptables -F
iptables -t nat –F

iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X

iptables -t nat -A POSTROUTING -s 192.168.2.0/255.255.255.0 -j SNAT --to-source 10.168.50.42

# Правило для прозрачного прокси, если таковой имеется.
iptables -t nat -A PREROUTING -p tcp -s 192.168.2.0/24 --dport 80 -j REDIRECT --to-port 3128

# Закрываем важные порты на Интерфейсах
iptables -A INPUT -p TCP -i eth0 --dport 3128 -j DROP #Порты proxy
iptables -A INPUT -p TCP -i eth1 --dport 3128 -j DROP
iptables -A INPUT -p TCP -i eth0 --dport 3306 -j DROP #mysql
iptables -A INPUT -p TCP -i eth1 --dport 3306 -j DROP

4

Эти правила работают не полностью. Не идут ДНС запросы...
Да и я все это делаю ради спортивного интереса!

5

Ka3aH6ac пишет:

...
# Закрываем важные порты на Интерфейсах
iptables -A INPUT -p TCP -i eth0 --dport 3128 -j DROP #Порты proxy
...

Подход неверный:
1. Чистка.
2. Закрыть все и вся. (DROP)
3. Пропускать все уже инициированные и их дочерние соединения.
4. Локальные разрешить.
5. Форвардинг.
6. Пишем что открыть, пробросить, ......

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

6

newzenon, спасибо большое!

Мне как раз нужны именно советы как правильно последовательность команд записать...

7

Ka3aH6ac, http://www.opennet.ru/docs/RUS/iptables/
в примерах есть http://www.opennet.ru/docs/RUS/iptables/#RCFIREWALLFILE - смотри и разбирай его что надо/не надо.
Ну и тут подсмотри http://linuxforum.ru/viewtopic.php?pid=176106#p176106

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

8

Вот, рабочие правила:

#!/bin/bash
# Очистка всех цепочек iptables

iptables -F
iptables -F -t nat
iptables -F -t mangle

iptables -X
iptables -t nat -X
iptables -t mangle -X
# Политика по умолчанию, запретить все что не разрешено
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
# Разрешаем обращение к lo интерфейсу
iptables -A INPUT -i lo -p all -j ACCEPT
iptables -A INPUT -i eth1 -j ACCEPT
iptables -A OUTPUT -o lo -p all -j ACCEPT
iptables -A OUTPUT -o eth1 -j ACCEPT

# Пропускать уже инициированные, а также их дочерние
iptables -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT

# Пропускать новые, инициированные, а также их дочерние

iptables -A OUTPUT -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

# Разрешить форвардинг для новых, инициированных, а также их дочерних
iptables -A FORWARD -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT


# NAT, подсеть 192.168.2.0/255.255.255.0 у нас виртуальная
iptables -t nat -A POSTROUTING -s 192.168.2.0/255.255.255.0 -j SNAT --to-source 192.168.1.10

# Разрешаем пинг
iptables -A INPUT -i eth1 -p ICMP -j ACCEPT
iptables -A OUTPUT -o eth1 -p ICMP -j ACCEPT

# Разрешаем DNS запросы с локальной сети до сервер
iptables -A INPUT -s 10.168.50.0/24 -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -d 10.168.50.0/24 -p udp --sport 53 -j ACCEPT
iptables -A INPUT -s 10.168.50.0/24 -p tcp --dport 53 -j ACCEPT
iptables -A OUTPUT -d 10.168.50.0/24 -p tcp --sport 53 -j ACCEPT

# Разрешаем VPN подключения из локальной сети к нашему серверу
iptables -A INPUT -s 10.168.50.0/24 -p tcp --dport 1723 -j ACCEPT
iptables -A OUTPUT -d 10.168.50.0/24 -p tcp --sport 1723 -j ACCEPT
iptables -A INPUT -p gre -j ACCEPT

Спасибо, newzenon  smile