bin bash Iptables rules for MARS Gentoo Server MODEM_IF eth0 modem ifa

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#!/bin/bash
# Iptables rules for MARS Gentoo Server
MODEM_IF="eth0" #modem iface
SC_IF="eth1" #SevCity iface
MODEM_IP="192.168.66.1"
SC_IP="192.168.8.66"
MY_MODEM_IP="192.168.66.250"
NETMASK_DEF="255.255.255.0"
LO_IF="lo"
LO_IP="127.0.0.1"
IPT="/sbin/iptables"
modprobe ip_conntrack_ftp
#очищаем все
$IPT -F
$IPT -F -t filter
#запрет на все
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP
#откроем все на локальном
$IPT -A INPUT -p all -i $LO_IF -j ACCEPT
$IPT -A OUTPUT -p all -o $LO_IF -j ACCEPT
#обработка уже созданных соединения
$IPT -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
#откроем SSH для внутренней локалки
$IPT -A INPUT -p tcp -i $MODEM_IF --dport 22 -d $MY_MODEM_IP -j LOG --log-prefix "SSH input connect"
$IPT -A INPUT -p tcp -i $MODEM_IF --dport 22 -d $MY_MODEM_IP -j ACCEPT
$IPT -A OUTPUT -p tcp -o $MODEM_IF --sport 22 -j ACCEPT
#откроем ICMP пакеты
$IPT -A INPUT -p icmp --icmp-type 0 -j ACCEPT
$IPT -A INPUT -p icmp --icmp-type 8 -j ACCEPT
$IPT -A FORWARD -p icmp --icmp-type 0 -j ACCEPT
$IPT -A FORWARD -p icmp --icmp-type 8 -j ACCEPT
$IPT -A OUTPUT -p icmp --icmp-type 0 -j ACCEPT
$IPT -A OUTPUT -p icmp --icmp-type 8 -j ACCEPT
#открываем DNS
$IPT -A INPUT -p tcp --dport 53 -j ACCEPT
$IPT -A INPUT -p tcp --sport 53 -j ACCEPT
$IPT -A OUTPUT -p tcp --sport 53 -j ACCEPT
$IPT -A OUTPUT -p tcp --dport 53 -j ACCEPT
$IPT -A INPUT -p udp --sport 53 -j ACCEPT
$IPT -A INPUT -p udp --dport 53 -j ACCEPT
$IPT -A OUTPUT -p udp --sport 53 -j ACCEPT
$IPT -A OUTPUT -p udp --dport 53 -j ACCEPT
$IPT -A FORWARD -p udp --sport 53 -j ACCEPT
$IPT -A FORWARD -p udp --dport 53 -j ACCEPT
#открываем 80 порт для апатча
$IPT -A INPUT -p tcp --dport 80 -j ACCEPT
$IPT -A OUTPUT -p tcp --sport 80 -j ACCEPT
#открываем mysqld порт только на внутреннюю локалку
$IPT -A INPUT -p tcp -i $MODEM_IF --dport 3306 -j ACCEPT
$IPT -A OUTPUT -p tcp -o $MODEM_IF --sport 3306 -j ACCEPT
#откроем фтп (активно и пассивно)
$IPT -A INPUT -p tcp -m state --state NEW --dport 21 -j ACCEPT
$IPT -A OUTPUT -p tcp -m state --state ESTABLISHED,RELATED --sport 21 -j ACCEPT
$IPT -A OUTPUT -p tcp -m state --state ESTABLISHED --sport 60000:60100 -j ACCEPT
#открываем IRC
$IPT -A INPUT -p tcp --dport 6666:6669 -j ACCEPT
$IPT -A INPUT -p tcp --dport 6696:6699 -j ACCEPT
$IPT -A OUTPUT -p tcp -j ACCEPT