Конфигурирование IPTABLES (Установка, настройка IPTABLES, Маскарадинг, Firewall)
-
Sergey_1989
- Сообщения: 2
- Зарегистрирован: 02 июн 2008, 17:19
Сообщение
Sergey_1989 » 02 июн 2008, 18:01
Помогите довести скрипт до ума.
Есть 3 интерфейса.
eth0 - локалка провайдера
eth1 - моя локалка
ppp0 - интернет
Код: Выделить всё
#!/bin/sh
$IPTABLES="/sbin/iptables"
# Сбрасываем все правила
$IPTABLES -t filter -F
$IPTABLES -t filter -X
$IPTABLES -t nat -F
$IPTABLES -t nat -X
echo "1" > /proc/sys/net/ipv4/ip_forward
# Политики по умолчанию
$IPTABLES -t filter -P INPUT DROP
$IPTABLES -t filter -P OUTPUT DROP
$IPTABLES -t filter -P FORWARD DROP
$IPTABLES -t nat -P PREROUTING DROP
$IPTABLES -t nat -P POSTROUTING DROP
$IPTABLES -t nat -P OUTPUT DROP
# Разрешаем всё на локальном интерфейсе
$IPTABLES -t filter -A INPUT -i lo -j ACCEPT
$IPTABLES -t filter -A OUTPUT -o lo -j ACCEPT
# Разрешаем пинги
$IPTABLES -t filter -A INPUT -p icmp -j ACCEPT
$IPTABLES -t filter -A FORWARD -p icmp -j ACCEPT
$IPTABLES -t filter -A OUTPUT -p icmp -j ACCEPT
# Разрешаем FORWARD
$IPTABLES -A FORWARD -i eth1 -o eth0 -p tcp --dport 53 -j ACCEPT
$IPTABLES -A FORWARD -i eth1 -o eth0 -p udp --dport 53 -j ACCEPT
$IPTABLES -A FORWARD -i eth1 -o ppp+ -p tcp --dport 80 -j ACCEPT
$IPTABLES -A FORWARD -i ppp+ -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i eth1 -o eth0 -p tcp --dport 80 -j ACCEPT
$IPTABLES -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
# SNAT
$IPTABLES -t nat -A POSTROUTING -s 192.168.0.0/24 -d 0.0.0.0/0 -j SNAT -o eth0 --to-source eth0
$IPTABLES -t nat -A POSTROUTING -s 192.168.0.0/24 -d 0.0.0.0/0 -j SNAT -o ppp+ --to-source ppp+
[/size]
А помочь нужно в настройки цепочки FORWARD.
-
Роман Торопов
- Администратор
- Сообщения: 142
- Зарегистрирован: 24 мар 2008, 10:49
- Откуда: г. Пермь
-
Контактная информация:
Сообщение
Роман Торопов » 02 июн 2008, 19:28
Sergey_1989 писал(а):Помогите довести скрипт до ума.
Есть 3 интерфейса.
eth0 - локалка провайдера
eth1 - моя локалка
ppp0 - интернет
А помочь нужно в настройки цепочки FORWARD.
1. для начало изучить
картинку(это один сет. интерфейс, вврху вход, внизу выход, слава локалхост (сервера установленные на этой машинке):
2. Сформулировать вопрос. Непонятно что хочишь достичь ...
-
Sergey_1989
- Сообщения: 2
- Зарегистрирован: 02 июн 2008, 17:19
Сообщение
Sergey_1989 » 02 июн 2008, 19:45
Роман Торопов писал(а):
1. для начало изучить
картинку(это один сет. интерфейс, вврху вход, внизу выход, слава локалхост (сервера установленные на этой машинке):
2. Сформулировать вопрос. Непонятно что хочишь достичь ...
Хочу добиться, чтобы локалка 192.168.88.0/24 (eth1) через сервер ходили в локалку (eth0) и интернет (ppp0).
-
Роман Торопов
- Администратор
- Сообщения: 142
- Зарегистрирован: 24 мар 2008, 10:49
- Откуда: г. Пермь
-
Контактная информация:
Сообщение
Роман Торопов » 02 июн 2008, 19:58
Sergey_1989 писал(а):Хочу добиться, чтобы локалка 192.168.88.0/24 (eth1) через сервер ходили в локалку (eth0) и интернет (ppp0).
Код: Выделить всё
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A POSTROUTING -o ppp0 -j MASQUERADE
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i eth+ -p tcp -m tcp --tcp-flags FIN,SYN,ACK SYN -j LOG --log-level 7 --log-tcp-options
-A INPUT -i eth+ -p tcp -m tcp --tcp-flags FIN,SYN,ACK SYN -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -s 192.168.88.0/24 -p icmp -i eth1 -j ACCEPT
-A FORWARD -d 192.168.88.0/24 -p icmp -o eth1 -j ACCEPT
-A FORWARD -s 192.168.88.0/24 -p udp -m udp --dport 53 -i eth1 -j ACCEPT
-A FORWARD -d 192.168.88.0/24 -p udp -m udp --sport 53 -o eth1 -j ACCEPT
-A FORWARD -s 192.168.88.0/24 -p tcp -i eth1 -j ACCEPT
-A FORWARD -d 192.168.88.0/24 -p tcp -o eth1 -j ACCEPT
-A FORWARD -s 192.168.88.0/24 -p ! icmp -m state --state INVALID -i eth1 -j DROP
-A FORWARD -d 192.168.88.0/24 -p ! icmp -m state --state INVALID -o eth1 -j DROP
-A FORWARD -o eth0 -j DROP
-A FORWARD -o eth1 -j DROP
-A FORWARD -o ppp1 -j DROP
COMMIT
При этом у всех пользователей в локали 192.168.88.0/24 должен быть прописан в свойствах сети шлюз (IP этого сервака на eth1, на котором этот IPTABLES) и DNS в локали провайдера и внешний-интернет DNS
-
De7c3L
- Сообщения: 3
- Зарегистрирован: 17 янв 2009, 03:20
Сообщение
De7c3L » 17 янв 2009, 04:14
Хочу добиться того же, тока моя локалка eth0:10. А в iptables ":" нельзя вроде как писать. Как быть?