вторник, 1 марта 2011 г.

iptables vs ufanet

Перешел на уфанет и сразу споткнулся об iptables...
Перерыл интернет, но на офф. форуме мало инфы, да и ненужного для дома много.

Структура домашней сети простая:
1 комп. сервер + дети мультики на нем смотрят (стоит ubuntu 10.04.2).
2 ноута по wifi через D'link DWL 2000AP+
и как обычно постоянно приношу компы с работы для настройки, т.ч. wifi у меня в трофейном 16 портовом хабе.
собственно iptables.sh:

#!/bin/sh
PATH=/usr/sbin:/sbin:/bin:/usr/bin

#Интерфейс VPN (Уфанет) dhcp
VPN_IFACE="eth0"

#Локальная сеть
LAN_IFACE="eth1"
LAN_IP="192.168.0.5"
LAN_MASK="255.255.255.0"

#Интернет dhcp
INET_IFACE="ppp+"

# Удаляем все правила
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X

#Политики по умолчанию
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

#Разрешить все входящие из локальной сети
iptables -A INPUT -i $LAN_IFACE -j ACCEPT

# Разрешить входящий loopback трафик
iptables -A INPUT -i lo -j ACCEPT

#IPTV
#iptables -A INPUT -d 224.0.0.0/240.0.0.0 -j ACCEPT
#iptables -A INPUT -s 224.0.0.0/4 -j ACCEPT

#iptables -A FORWARD -d 224.0.0.0/240.0.0.0 -j ACCEPT
#iptables -A FORWARD -s 224.0.0.0/240.0.0.0 -j ACCEPT

# Разрешаем доступ по протоколу SSH (входящий и перенаправление)
iptables -A FORWARD -o $INET_IFACE -m state --state NEW -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT

# Разрешить уже установленые соединения
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Разрешить новые соединения с локальной сети NEW ! -i $INET_IFACE
iptables -A INPUT -m state --state NEW ! -i $INET_IFACE -j ACCEPT

#Разрешить форвардинг между локальной сетью и интернет
iptables -A FORWARD -i $INET_IFACE -o $LAN_IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT

#Разрешить перенаправление исходящего трафика из локальной сети в интернет
iptables -A FORWARD -i $LAN_IFACE -o $INET_IFACE -j ACCEPT

# Маскарадинг двух интерфейсов VPN и INET
iptables -t nat -A POSTROUTING -o $INET_IFACE -j MASQUERADE
iptables -t nat -A POSTROUTING -o $VPN_IFACE -j MASQUERADE

# Запретить форвардинг из интернета в локальную сеть
iptables -A FORWARD -i $INET_IFACE -o $INET_IFACE -j REJECT
iptables -A FORWARD -i $VPN_IFACE -o $INET_IFACE -j REJECT

#Перенаправление портов 80 на squid 3128
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-ports 3128

#для mtu
iptables -I FORWARD -t mangle -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu


# Разрешаем перенаправление портов
echo 1 > /proc/sys/net/ipv4/ip_forward

p.s.
заблочил 224 порты, т.к. IPTV больше нету (((

Комментариев нет: