Ik heb een probleem met m'n iptables script. Sedert ik een debian-router in gebruik heb, is m'n downloadsnelheid zo'n 10 keer lager dan normaal. (nu: 60KB/sec, vroeger 600KB/sec).
Ik vermoed dat er een en ander niet pluis is aan het script. Heb al gezocht via de search maar ik vind niks relevant.
Specs router:
• PII 333Mhz, 192MB RAM
• 10Mbit Realtek (rtl8029 chipset) gekoppeld aan de kabelmodem (eth1 in het script > via DHCP)
• 100Mbit Realtek (rtl8139 chipset) gekoppeld aan de switch (eth0 in het script > lokaal netwerk)
• Draaiend onder Debian, met Kernel 2.6.8.
Iemand een idee wat het kan zijn?
Het iptables-script:
Ik vermoed dat er een en ander niet pluis is aan het script. Heb al gezocht via de search maar ik vind niks relevant.
Specs router:
• PII 333Mhz, 192MB RAM
• 10Mbit Realtek (rtl8029 chipset) gekoppeld aan de kabelmodem (eth1 in het script > via DHCP)
• 100Mbit Realtek (rtl8139 chipset) gekoppeld aan de switch (eth0 in het script > lokaal netwerk)
• Draaiend onder Debian, met Kernel 2.6.8.
Iemand een idee wat het kan zijn?
Het iptables-script:
code:
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
| #! /bin/sh
#
IPT=/sbin/iptables
case "$1" in
start)
echo -n "Activating Firewall "
# Turn on IP spoofing
#############################################################
for i in /proc/sys/net/ipv4/conf/*/rp_filter; do
echo "1" > $i
done
# No ICMP redirects
#############################################################
echo "0" > /proc/sys/net/ipv4/conf/all/accept_redirects
# Enable IP-forwarding
#############################################################
echo "1" > /proc/sys/net/ipv4/ip_forward
# Set default policies, drop all
#############################################################
$IPT -F
$IPT -X
$IPT -Z
$IPT -t nat -F
$IPT -t nat -X
$IPT -t nat -Z
$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT DROP
# Portforward SSH for ares
#############################################################
$IPT -A PREROUTING -i eth1 -s 0/0 -t nat -p tcp -d 0/0 --dport 5901 -j DNAT --to 192.168.0.2:5901
# Add official IP to outgoing stuff
#############################################################
$IPT -A POSTROUTING -t nat -o eth1 -j MASQUERADE
# Accept loopback traffic
#############################################################
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT
# Accept already established connections
#############################################################
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# Add own tables
#############################################################
$IPT -N CHECKIN
$IPT -N CHECKOUT
$IPT -N CHECKFWD
# Allow new connections in own tables
#############################################################
$IPT -A INPUT -s 0/0 -d 0/0 -m state --state NEW -j CHECKIN
$IPT -A OUTPUT -s 0/0 -d 0/0 -m state --state NEW -j CHECKOUT
$IPT -A FORWARD -s 0/0 -d 0/0 -m state --state NEW -j CHECKFWD
#############################################################
#############################################################
###
### Incoming Connections
###
#############################################################
#############################################################
# Drop suspicious packets
#############################################################
$IPT -A CHECKIN -p tcp --tcp-flags ALL ALL
$IPT -A CHECKIN -p tcp --tcp-flags ALL FIN,URG,PSH
$IPT -A CHECKIN -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG
$IPT -A CHECKIN -p tcp --tcp-flags SYN,RST SYN,RST
$IPT -A CHECKIN -p tcp --tcp-flags SYN,FIN SYN,FIN
$IPT -A CHECKIN -p tcp --tcp-flags ALL NONE
# Drop packets without syn-bit
#############################################################
$IPT -A CHECKIN -p tcp ! --syn -m state --state NEW -j DROP
# Allow ICMP Type 8 (Echo Request)
#############################################################
$IPT -A CHECKIN -p icmp --icmp-type echo-request -j ACCEPT
# Accept SSH connections (from every interface)
#############################################################
$IPT -A CHECKIN -p tcp -s 0/0 --sport 5900: -d 0/0 --dport 5900 -j ACCEPT
# Accept HTTP connections (from every interface)
#############################################################
$IPT -A CHECKIN -p tcp -s 0/0 --sport 8000: -d 0/0 --dport 8000 -j ACCEPT
# Accept DNS-answers
#############################################################
$IPT -A CHECKIN -p udp -s 192.168.0.2 --sport 53 -d 0/0 --dport 53: -j ACCEPT
$IPT -A CHECKIN -p udp -s 192.168.0.3 --sport 53 -d 0/0 --dport 53: -j ACCEPT
# Re-drop unneeded stuff
#############################################################
$IPT -A CHECKIN -s 0/0 -j DROP
#############################################################
#############################################################
###
### Outgoing connections
###
#############################################################
#############################################################
# Accept outgoing PING
#############################################################
$IPT -A CHECKOUT -p icmp --icmp-type echo-request -j ACCEPT
# Accept NTP
#############################################################
$IPT -A CHECKOUT -o eth1 -p udp -s 0/0 --sport 123 -d 0/0 --dport 123 -j ACCEPT
# Accept WHOIS
#############################################################
$IPT -A CHECKOUT -o eth1 -p tcp -s 0/0 --sport 1024: -d 0/0 --dport 43 -j ACCEPT
# Allow AUTH
#############################################################
$IPT -A CHECKOUT -p tcp -s 0/0 --sport 1024: -d 0/0 --dport 113 -j ACCEPT
# Allow DNS
#############################################################
$IPT -A CHECKOUT -p udp -s 0/0 -d 192.168.0.2 --dport 53 -j ACCEPT
$IPT -A CHECKOUT -p udp -s 0/0 -d 192.168.0.3 --dport 53 -j ACCEPT
# Allow SMTP
#############################################################
$IPT -A CHECKOUT -o eth0 -p tcp -s 192.168.0.2 --sport 1024: -d 192.168.0.2 --dport 25 -j ACCEPT
$IPT -A CHECKOUT -o eth0 -p tcp -s 192.168.0.3 --sport 1024: -d 192.168.0.3 --dport 25 -j ACCEPT
# Re-drop unneeded stuff
#############################################################
$IPT -A CHECKOUT -s 0/0 -j DROP
#############################################################
#############################################################
###
### IP-Forwarding
###
#############################################################
#############################################################
# Internet to SSH from ares
#############################################################
$IPT -A CHECKFWD -i eth1 -o eth0 -p tcp -s 0/0 --sport 1024: -d 192.168.0.2 --dport 5901 -j ACCEPT
# Forward stuff
#############################################################
$IPT -A CHECKFWD -i eth0 -s 192.168.0.0/24 -d 0/0 -j ACCEPT
# Outgoing ICMP
#############################################################
$IPT -A CHECKFWD -i eth0 -o eth1 -p icmp -s 192.168.0.0/24 --icmp-type echo-request -j ACCEPT
# Outgoing FTP
#############################################################
$IPT -A CHECKFWD -i eth0 -o eth1 -p tcp -s 192.168.0.0/24 --sport 1024: -d 0/0 --dport 21 -j ACCEPT
# HTTP / HTTPS
#############################################################
$IPT -A CHECKFWD -i eth0 -o eth1 -p tcp -s 192.168.0.0/24 --sport 1024: -d 0/0 --dport 80 -j ACCEPT
$IPT -A CHECKFWD -i eth0 -o eth1 -p tcp -s 192.168.0.0/24 --sport 1024: -d 0/0 --dport 443 -j ACCEPT
# NTP
#############################################################
$IPT -A CHECKFWD -i eth0 -o eth1 -p udp -s 192.168.0.0/24 --sport 123 -d 0/0 --dport 123 -j ACCEPT
# POP3, POP3/SSL, IMAP4, IMAP4/SSL from LAN
#############################################################
$IPT -A CHECKFWD -i eth0 -o eth1 -p tcp -s 192.168.0.0/24 --sport 1024: -d 0/0 --dport 110 -j ACCEPT
$IPT -A CHECKFWD -i eth0 -o eth1 -p tcp -s 192.168.0.0/24 --sport 1024: -d 0/0 --dport 995 -j ACCEPT
$IPT -A CHECKFWD -i eth0 -o eth1 -p tcp -s 192.168.0.0/24 --sport 1024: -d 0/0 --dport 143 -j ACCEPT
$IPT -A CHECKFWD -i eth0 -o eth1 -p tcp -s 192.168.0.0/24 --sport 1024: -d 0/0 --dport 993 -j ACCEPT
# ICQ / Jabber from LAN
#############################################################
$IPT -A CHECKFWD -i eth0 -o eth1 -p tcp -s 192.168.0.0/24 --sport 1024: -d 0/0 --dport 5190 -j ACCEPT
$IPT -A CHECKFWD -i eth0 -o eth1 -p tcp -s 192.168.0.0/24 --sport 1024: -d 0/0 --dport 5222 -j ACCEPT
$IPT -A CHECKFWD -i eth0 -o eth1 -p tcp -s 192.168.0.0/24 --sport 1024: -d 0/0 --dport 5223 -j ACCEPT
# SILC and IRC from LAN
#############################################################
$IPT -A CHECKFWD -i eth0 -o eth1 -p tcp -s 192.168.0.0/24 --sport 1024: -d 0/0 --dport 706 -j ACCEPT
$IPT -A CHECKFWD -i eth0 -o eth1 -p tcp -s 192.168.0.0/24 --sport 1024: -d 0/0 --dport 6668 -j ACCEPT
# Drop rest
#############################################################
$IPT -A CHECKFWD -s 0/0 -j DROP
echo "Done."
;;
stop)
echo -n "Deactivating Firewall "
# Flush rules
#############################################################
$IPT -F
$IPT -X
$IPT -Z
$IPT -t nat -F
$IPT -t nat -X
$IPT -t nat -Z
# Set Default Policies
#############################################################
$IPT -P INPUT ACCEPT
$IPT -P FORWARD ACCEPT
$IPT -P OUTPUT ACCEPT
echo "Done."
;;
restart)
$0 stop
echo '0' > /proc/sys/net/ipv4/ip_forward
$0 start
;;
*)
echo "Usage: /etc/init.d/firewall {start|stop|restart|}"
exit 1
;;
esac
exit 0 |
Denon AVR-X2800H, Quadral Amun Mk.III, Technics SL-7, DIY PhonoPre, AT-152LP / 4.225kW Heckert Solar / SMA 3.0-1AV-41 / Kia e-Niro 64kWh First Edition