[ipchains]aaargh, k snap er geen ... van :(

Pagina: 1
Acties:
  • 139 views sinds 30-01-2008
  • Reageer

  • Super_ik
  • Registratie: Maart 2001
  • Laatst online: 09:32
kep hier een router met een 2.2.x kernel en ik wil er een firewall op hebben :) dus ipchains. kep al een helehoop howtoes doorgelezen, maar ik snap er geen hol van :(
op eth0 zit lan en op eth1 i-net
dit heb ik nu:
code:
1
2
3
4
-A input -i eth0 -s 192.168.0.0/24 -d 192.168.0.1 -j ACCEPT
-A input -i eth1 -s 0.0.0.0/24 53 -d 217.120.84.207 1024: -p tcp -j ACCEPT
-A input -i eth1 -s 0.0.0.0/24 80 -d 217.120.84.207 1024: -p tcp -j ACCEPT
-A input -i eth1 -s 0.0.0.0/24 53 -d 217.120.84.207 1024: -p udp -j ACCEPT

dit zou toch genoeg moeten wezen om puur internet paginas te kunnen zien :?

en dit is om te routen:
code:
1
-A forward -s 192.168.0.0/255.255.255.0 -d 0.0.0.0/0.0.0.0 -j MASQ

dns'sen gaat wel goed. (draai ook cached name server) maar voor de rest doet t t echt niet, temininste, na een -P input DENY dan he :)

8<------------------------------------------------------------------------------------
Als ik zo door ga haal ik m'n dood niet. | ik hou van goeie muziek


  • banaan-X
  • Registratie: Februari 2001
  • Niet online
Je moet wel EERST denyen, en DAN allowen. Doe je dat?

  • Super_ik
  • Registratie: Maart 2001
  • Laatst online: 09:32
nou snap ik er nog veel minder van :? je zegt toch wat je wel wilt en de rest komt dan bij de policy van input aan, die dan dus op deny moet staan ?

8<------------------------------------------------------------------------------------
Als ik zo door ga haal ik m'n dood niet. | ik hou van goeie muziek


Verwijderd

Hij bedoelt policy op deny zetten en dan accept regels maken.

  • Super_ik
  • Registratie: Maart 2001
  • Laatst online: 09:32
das toch hetzelfde?
dus wat ik doe, accept regels maken en policy deny. maar wat moet ik dan nog meer accepten?

[edit]
ik kan niet eerst denyen en dan accept regels intypen, want ik log remote, intern in, en dan ben ik mn verbinding kwijt :) (ervaring :))

8<------------------------------------------------------------------------------------
Als ik zo door ga haal ik m'n dood niet. | ik hou van goeie muziek


  • banaan-X
  • Registratie: Februari 2001
  • Niet online
Op vrijdag 01 februari 2002 20:12 schreef Super_ik het volgende:
das toch hetzelfde?
dus wat ik doe, accept regels maken en policy deny. maar wat moet ik dan nog meer accepten?

[edit]
ik kan niet eerst denyen en dan accept regels intypen, want ik log remote, intern in, en dan ben ik mn verbinding kwijt :) (ervaring :))
Nee is niet hetzelfde!, als je nl eerst toestaat, maar daarna weer wijgert, wijgert ie. En als je eerst wijgert, en dan toestaat, staat ie toe.
En ik snap niet waarom je er ozu worden afgegooid. Zelfs al herstart ik met netwerk, dan blijft de verbinding met ssh bestaan. Je gebruikt toch wel ssh?

  • Super_ik
  • Registratie: Maart 2001
  • Laatst online: 09:32
ssh ja, maar ik typ eerst de regeltjes in
dus wat in de eerste code tags staat. en als dat gedaan is dan typ ip ipchains -P input DENY.
als ik het andersom doe dan staat ie helemaal geen binnenkomedende data meer toe. dus da werkt nie echt

8<------------------------------------------------------------------------------------
Als ik zo door ga haal ik m'n dood niet. | ik hou van goeie muziek


Verwijderd

heb je forwarding wel aan staan?

echo 1> /proc/sys/net/ipv4/ip_forward

daarnaast maak je imo een denkfout.

op eth0 sta je alleen verkeer gericht aan 192.168.0.1 toe. Internetverkeer is niet gericht aan 192.168.0.1, maar aan i-net IP adressen. Je moet dus de -d weghalen bij je eth0 input regel.

Als laatste.. gaat het verkeer wat 'door' de machine moet bij ipchains ook niet door de 'forward' table ipv de 'input/output' tables?

Ik zou gewoon een leuk script opzoeken en die gebruiken. Bv. bastille oid.

  • Super_ik
  • Registratie: Maart 2001
  • Laatst online: 09:32
kep nou
-A input -i lo -j ACCEPT en
-A input -s 192.168.0.0/24 -d 0.0.0.0/0 -j ACCEPT toegevoegt
een tracert vanaf een client bereikt niet eens de mn router. maar kan wel de dnssen.
een traceroute vanaf de router werkt wel gewoon :?

8<------------------------------------------------------------------------------------
Als ik zo door ga haal ik m'n dood niet. | ik hou van goeie muziek


Verwijderd

Edit: Foutje...

*niet goed lezen kan*

  • Super_ik
  • Registratie: Maart 2001
  • Laatst online: 09:32
Op vrijdag 01 februari 2002 21:03 schreef hezik het volgende:
Ik zou gewoon een leuk script opzoeken en die gebruiken. Bv. bastille oid.
das grafisch, en mn server niet, en slackware wordt niet ondersteund. (rmp ;))

8<------------------------------------------------------------------------------------
Als ik zo door ga haal ik m'n dood niet. | ik hou van goeie muziek


Verwijderd

Er klopt vrij weinig van die regels!

Leg eerst maar eens goed uit, op welke computers je wil internetten en wat je met die NAT-machine zelf wil.

Verwijderd

Gebruik eens geen regels (dus alles op accept); doet hij het dan wel?

Je mist sowieso wel meer dingen, bv. een -j MASQ regel. Daarnaast zit je met de input chain te klooien terwijl je de forward chain moet hebben.

hier een voorbeeldscript:
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
#!/bin/sh
#
# rc.firewall-2.2
FWVER="1.01"
#
#     - Initial SIMPLE IP Masquerade test for 2.1.x and 2.2.x kernels 
#    using IPCHAINS.
#
#    Once IP Masquerading has been tested, with this simple 
#    ruleset, it is highly recommended to use a stronger 
#    IPTABLES ruleset either given later in this HOWTO or 
#    from another reputable resource.
#
echo -e "\n\nLoading simple rc.firewall version $FWVER..\n"


#Setting the EXTERNAL and INTERNAL interfaces for the network
#
#  Each IP Masquerade network needs to have at least one
#  external and one internal network.  The external network
#  is where the NATing will occur and the internal network
#  should preferably be addressed with a RFC1918 private addressing
#  scheme.
#
#  For this example, "eth0" is external and "eth1" is internal"
#
#  NOTE:  If this doesnt EXACTLY fit your configuration, you must
#      change the EXTIF or INTIF variables above. For example:
#
#          EXTIF="ppp0"
#
#       if you are a modem user.
#
#  ** Please change this to reflect your specific configuration **
#
EXTIF="eth0"
INTIF="eth1"
echo "   External Interface:  $EXTIF"
echo "   Internal Interface:  $INTIF"


# Network Address of the Internal Network
#
#   This example rc.firewall file uses the 192.168.0.0 network
#   with a /24 or 255.255.255.0 netmask.
#
#    ** Change this variable to reflect your specific setup **
#
INTLAN="192.168.0.0/24"
echo -e "   Internal Interface:  $INTLAN\n"



# Load all required IP MASQ modules
#
#   NOTE:  Only load the IP MASQ modules you need.  All current IP MASQ modules
#       are shown below but are commented out from loading.
echo "   loading required IPMASQ kernel modules.."

# Needed to initially load modules
#
/sbin/depmod -a

echo -en "   Loading modules: "

# Supports the proper masquerading of FTP file transfers using the PORT method
#
echo -en "FTP, "
/sbin/modprobe ip_masq_ftp

# Supports the masquerading of RealAudio over UDP.  Without this module,
#    RealAudio WILL function but in TCP mode.  This can cause a reduction
#    in sound quality
#
#echo -en "RealAudio, "
#/sbin/modprobe ip_masq_raudio

# Supports the masquerading of IRC DCC file transfers
#
#echo -en "Irc, "
#/sbin/modprobe ip_masq_irc


# Supports the masquerading of Quake and QuakeWorld by default.  This modules is
#   for for multiple users behind the Linux MASQ server.  If you are going to 
#   play Quake I, II, and III, use the second example.
#
#   NOTE:  If you get ERRORs loading the QUAKE module, you are running an old
#   -----  kernel that has bugs in it.  Please upgrade to the newest kernel.
#
#echo -en "Quake, "
#Quake I / QuakeWorld (ports 26000 and 27000)
#/sbin/modprobe ip_masq_quake
#
#Quake I/II/III / QuakeWorld (ports 26000, 27000, 27910, 27960)
#/sbin/modprobe ip_masq_quake 26000,27000,27910,27960


# Supports the masquerading of the CuSeeme video conferencing software
#
#echo -en "CuSeeme, "
#/sbin/modprobe ip_masq_cuseeme

#Supports the masquerading of the VDO-live video conferencing software
#
#echo -en "VdoLive "
#/sbin/modprobe ip_masq_vdolive

echo ".  Done loading modules."


#CRITICAL:  Enable IP forwarding since it is disabled by default since
#
#        Redhat Users:  you may try changing the options in 
#                 /etc/sysconfig/network from:
#
#                FORWARD_IPV4=false
#                    to
#                FORWARD_IPV4=true
#
echo "   enabling forwarding.."
echo "1" > /proc/sys/net/ipv4/ip_forward


#CRITICAL:  Enable automatic IP defragmenting since it is disabled by default 
#        in 2.2.x kernels.  This used to be a compile-time option but the 
#        behavior was changed in 2.2.12
#
echo "   enabling AlwaysDefrag.."
echo "1" > /proc/sys/net/ipv4/ip_always_defrag


# Dynamic IP users:
#
#   If you get your IP address dynamically from SLIP, PPP, or DHCP, enable this 
#   following option.  This enables dynamic-ip address hacking in IP MASQ, 
#   making the life with Diald and similar programs much easier.
#
#echo "   enabling DynamicAddr.."
#echo "1" > /proc/sys/net/ipv4/ip_dynaddr


# Enable the LooseUDP patch which some Internet-based games require
#
#  If you are trying to get an Internet game to work through your IP MASQ box,
#  and you have set it up to the best of your ability without it working, try
#  enabling this option (delete the "#" character).  This option is disabled
#  by default due to possible internal machine UDP port scanning 
#  vunerabilities.
#
#echo "   enabling LooseUDP.."
#echo "1" > /proc/sys/net/ipv4/ip_masq_udp_dloose


#Clearing any previous configuration
#
#  Unless specified, the defaults for INPUT and OUTPUT is ACCEPT
#    The default for FORWARD is REJECT
#
echo "   clearing any existing rules and setting default policy.."
/sbin/ipchains -P input ACCEPT
/sbin/ipchains -P output ACCEPT
/sbin/ipchains -P forward REJECT
/sbin/ipchains -F input
/sbin/ipchains -F output
/sbin/ipchains -F forward


# MASQ timeouts
#
#   2 hrs timeout for TCP session timeouts
#  10 sec timeout for traffic after the TCP/IP "FIN" packet is received
#  160 sec timeout for UDP traffic (Important for MASQ'ed ICQ users) 
#
echo "   setting default timers.."
/sbin/ipchains -M -S 7200 10 160


# DHCP:  For people who receive their external IP address from either DHCP or 
#     BOOTP such as ADSL or Cablemodem users, it is necessary to use the 
#     following before the deny command.  
#
#     This example is currently commented out.
#
#
#/sbin/ipchains -A input -j ACCEPT -i $EXTIF -s 0/0 67 -d 0/0 68 -p udp

# Enable simple IP forwarding and Masquerading
#
#  NOTE:  The following is an example for an internal LAN address in the 
#      192.168.0.x network with a 255.255.255.0 or a "24" bit subnet mask
#      connecting to the Internet on interface eth0.
#
#      ** Please change this network number, subnet mask, and your Internet
#      ** connection interface name to match your internal LAN setup
#
echo "   enabling IPMASQ functionality on $EXTIF"
/sbin/ipchains -P forward DENY
/sbin/ipchains -A forward -i $EXTIF -s $INTLAN -j MASQ

echo -e "\nrc.firewall-2.2 v$FWVER done.\n"

  • Super_ik
  • Registratie: Maart 2001
  • Laatst online: 09:32
Op vrijdag 01 februari 2002 21:18 schreef nelske het volgende:
Er klopt vrij weinig van die regels!

Leg eerst maar eens goed uit, op welke computers je wil internetten en wat je met die NAT-machine zelf wil.
kat deze opmerkenin al veel eerder verw8 (niet perse van jou) :), ik wil dus op de gemaskte client internet, ik snap er idd weinig van ja. daarom ben ik wat gaan proberen, en hier t resulttaat :P

hezik, dit is een masq script. dit draait al :). t loopt al een half jaar gemasqt. maar nu wil ik ook een firewall :)

8<------------------------------------------------------------------------------------
Als ik zo door ga haal ik m'n dood niet. | ik hou van goeie muziek


  • Super_ik
  • Registratie: Maart 2001
  • Laatst online: 09:32
en wat ik eigelijk wil is gewoon poorten blokken, behalve poort 80 en 22 :)

8<------------------------------------------------------------------------------------
Als ik zo door ga haal ik m'n dood niet. | ik hou van goeie muziek


Verwijderd

ok, je hebt het volgende:

Client PC ---> linux box --> isp.

Je wilt dat de client PC via die linux machine 'op het internet kan'

Dan moeten de volgende regeltjes voldoende zijn:
code:
1
2
3
4
5
6
7
8
9
10
11
12
echo "1" > /proc/sys/net/ipv4/ip_forward
/sbin/ipchains -P input REJECT
/sbin/ipchains -P output REJECT
/sbin/ipchains -P forward REJECT
/sbin/ipchains -F input
/sbin/ipchains -F output
/sbin/ipchains -F forward
/sbin/ipchains -A input -i eth0 -s 192.168.0.0/24 -j ACCEPT
/sbin/ipchains -A output -o eth0 -d 192.168.0.0/24 -j ACCEPT

/sbin/ipchains -A forward -i eth0 -s 192.168.0.0/24 -j ACCEPT
/sbin/ipchains -A forward -s 192.168.0.0/24 -j MASQ

dit scriptje is allesbehalve perfect maar zou, voor zover ik kan nagaan, gewoon moeten werken.

Ikzelf heb meer ervaring met iptables, misschien dat iemand met specifieke ipchains kennis mijn scriptje nog wat verder voor je kan uitwerken.

Overigens zijn er ook niet-grafische scripts te krijgen welke je alleen vragen wat je wel/niet wil en aan de hand daarvan een rc.firewall automatisch genereren.



#masq
ipchains -

  • Super_ik
  • Registratie: Maart 2001
  • Laatst online: 09:32
hij kan al op het internet, door de forward chain die ik heb opgegeven. maar nu wil ik bv mn telnel poort enzo van mn server blokken voor internet. dat op deze overal closed komt te staan, snap?

8<------------------------------------------------------------------------------------
Als ik zo door ga haal ik m'n dood niet. | ik hou van goeie muziek


  • mowgli
  • Registratie: Januari 2000
  • Niet online
Op zaterdag 02 februari 2002 12:32 schreef Super_ik het volgende:
hij kan al op het internet, door de forward chain die ik heb opgegeven. maar nu wil ik bv mn telnel poort enzo van mn server blokken voor internet. dat op deze overal closed komt te staan, snap?
Dan ken je ook ff je telnetd commenten in inetd als je die poort dicht wil hebben? of start dan gewoon telnet nietmeer op en blijft die poort open :?

ps. ik ben ook maar een n00bje. Heb sinds eergister me router overgezet op redhat dus moet ooknog een mooie rc.firewall maken :)

Verwijderd

Als jij je forward rule ongewijzigd laat en je input/output op reject zet (zonder rules) dan doet hij wat je wilt.

Oftewel geen regels in je input/output chains en die chains op reject.

Verkeer wat je wilt toestaan geef je dan aan met rules, bv je wilt wel http verkeer naar je linux doos toestaan:
code:
1
ipchains -i eth1 -p tcp -s 0/0 www -j ACCEPT

kijk in /etc/services voor een lijst van service-namen

  • Super_ik
  • Registratie: Maart 2001
  • Laatst online: 09:32
mn forward chain is alleen naar buiten toe gericht he. dus alle verkeer komt ook langs de input chain

8<------------------------------------------------------------------------------------
Als ik zo door ga haal ik m'n dood niet. | ik hou van goeie muziek


Verwijderd

Weet je dat zeker? zoals gezegd ken ik ipchains niet zo goed, maar weet wel dat dit bij iptables iig. NIET zo is. Daar komt alleen verkeer voor de machine zelf terecht in de input/output chains en al het andere alleen in de forward.

Maar goed, dat kan voor ipchains idd. anders zijn.

Wat handig kan zijn is gewoon op een stuk papier even te tekenen wat je precies wilt. Dat, icm. met de hier geposte antwoorden, zou toch echt een werkend script op moeten kunnen leveren.

Ik zit me nu al 2 dagen m'n hoofd te breken hoe dat niet-grafische toch-automatische script voor ipchains ook alweer heette, maar kan er niet opkomen. Misschien dat iemand anders die naam nog weet? Het is er iig. Een script dat, als je het uitvoert, je vraagt om je gegevens en wat je wil. Daarna stelt hij zelf een ipchains script samen.

Verwijderd

Ik heb een heel handige site gevonden om je firewall goed
in te stellen. Ik had in het verleden ook erg veel moeite met ipchains.

De site is:
http://www.linux-firewall-tools.com/linux

Firewall-design tool:
http://www.linux-firewall-tools.com/linux/firewall/index.html
Pagina: 1