Toon posts:

[iptables] internetshare - firewall script

Pagina: 1
Acties:

Verwijderd

Topicstarter
Morgen ga ik een nieuwe linuxpc gebruiken om mijn internet te delen.

Mijn huidige situatie :

code:
1
2
[internet] <-> win2kserver <|->  192.168.0.2 (mandrake 9.0)
                                             |->  192.168.0.3 (win98se)


Die win2k server moet dus vervangen worden door mijn nieuwe linuxroutertje.
Ik heb via google en hier de search gebruikt verschillende howto's etc gelezen.

Ik snap dat ik dat ik op de clients de gateway moet instellen op het IP van de linuxrouter, dit lijkt mij geen probleem.

Wel het probleem is het volgende het is een 333Mhz bak met 1 GB, voor de router wil ik IPTABLES gebruiken en heb thuis mandrake9 liggen met een 2.4 kernel dus ik neem aan dat dit gaat passen op 1Ghz harddisk, uiteraard zonder X

Na wat speur werk kwam ik op het onderstaande scriptje die ik enigsinds heb aangepast, want de clients moeten kunnen, emailen (pop ophalen en sturen via smtp) uiteraard het internet benaderen, toegang krijgen tot ircserver / icq / msn en kunnen telnetten / ssh'en

Heb ik het volgende 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
#!/bin/sh

# Set some vars
EXTIP=`ifconfig eth0 | grep inet | tr -s " " | cut -d " " -f 3 | cut -d ":" -f 2`

# Load the NAT module (this pulls in all the others).
modprobe iptable_nat

# Turn on IP forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward

#Flush rules
iptables -t nat -F PREROUTING

# In the NAT table (-t nat), Append a rule (-A) after routing (POSTROUTING)
# which says to MASQUERADE the connection (-j MASQUERADE).
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE

# Allows forwarding specifically to our LAN
iptables -A FORWARD -s 193.168.0.0/24 -j ACCEPT

# Enable IP-spoofing beveiliging
for f in /proc/sys/net/ipv4/conf/*/rp_filter ; do
echo 1 > $f
done


# Zet 22 tot 80 binnekomend voor de buitenwereld
iptables -A INPUT -p tcp --dport 22:80 -j ACCEPT
iptables -A INPUT -p udp --dport 22:80 -j ACCEPT

# Allow dhcp requests
iptables -A INPUT -i eth1 -p udp --sport bootpc --dport bootps -j ACCEPT
iptables -A INPUT -i eth1 -p tcp --sport bootpc --dport bootps -j ACCEPT
iptables -A INPUT -i eth1 -p udp --sport bootps --dport bootpc -j ACCEPT
iptables -A INPUT -i eth1 -p tcp --sport bootps --dport bootpc -j ACCEPT

# Allow dns requests
iptables -A INPUT -i eth1 -p udp --dport domain -j ACCEPT
iptables -A INPUT -i eth1 -p tcp --dport domain -j ACCEPT

# Forward some ports
iptables -t nat -A PREROUTING -p tcp --dport 7000 -i eth0 -j DNAT --to 192.168.0.2:7000
iptables -t nat -A PREROUTING -p tcp --dport 7000 -i eth0 -j DNAT --to 192.168.0.3:7000
iptables -t nat -A PREROUTING -p tcp --dport 5000 -i eth0 -j DNAT --to 192.168.0.2:5000
iptables -t nat -A PREROUTING -p tcp --dport 5000 -i eth0 -j DNAT --to 192.168.0.3:5000
iptables -t nat -A PREROUTING -p tcp --dport 3389 -i eth0 -j DNAT --to 192.168.0.2:3389
iptables -t nat -A PREROUTING -p tcp --dport 3389 -i eth0 -j DNAT --to 192.168.0.3:3389
iptables -t nat -A PREROUTING -p tcp --dport 443 -i eth0 -j DNAT --to 192.168.0.2:443
iptables -t nat -A PREROUTING -p tcp --dport 443 -i eth0 -j DNAT --to 192.168.0.3:443

iptables -t nat -A PREROUTING -p tcp --dport 443 -i eth0 -j DNAT --to 192.168.0.2:443
iptables -t nat -A PREROUTING -p tcp --dport 443 -i eth0 -j DNAT --to 192.168.0.3:443

#msn porten
iptables -t nat -A PREROUTING -p tcp --dport 6891 -i eth0 -j DNAT --to 192.168.0.2:6891
iptables -t nat -A PREROUTING -p tcp --dport 6892 -i eth0 -j DNAT --to 192.168.0.2:6892
iptables -t nat -A PREROUTING -p tcp --dport 6893 -i eth0 -j DNAT --to 192.168.0.2:6893
iptables -t nat -A PREROUTING -p tcp --dport 6894 -i eth0 -j DNAT --to 192.168.0.2:6894
iptables -t nat -A PREROUTING -p tcp --dport 6895 -i eth0 -j DNAT --to 192.168.0.2:6895
iptables -t nat -A PREROUTING -p tcp --dport 6896 -i eth0 -j DNAT --to 192.168.0.2:6896
iptables -t nat -A PREROUTING -p tcp --dport 6897 -i eth0 -j DNAT --to 192.168.0.2:6897
iptables -t nat -A PREROUTING -p tcp --dport 6898 -i eth0 -j DNAT --to 192.168.0.2:6898
iptables -t nat -A PREROUTING -p tcp --dport 6899 -i eth0 -j DNAT --to 192.168.0.2:6899
iptables -t nat -A PREROUTING -p tcp --dport 6900 -i eth0 -j DNAT --to 192.168.0.2:6900
iptables -t nat -A PREROUTING -p udp --dport 6901 -i eth0 -j DNAT --to 192.168.0.2:6901
echo $EXTIP


Nu is mijn vraag is dit nou mogelijk met dit script, en het dient ook als firewall is het zo lek als een zeef, want na wat howto's te hebben gelezen heb ik er nog niet zo héél erg veel verstand van.

Alsvast bedankt

-dotE-Force

  • Seth4Chaos
  • Registratie: Maart 2001
  • Niet online

Seth4Chaos

that's me...

iptables -t nat -A PREROUTING -p tcp --dport 7000 -i eth0 -j DNAT --to 192.168.0.2:7000iptables -t nat -A PREROUTING -p tcp --dport 7000 -i eth0 -j DNAT --to 192.168.0.3:7000
dit gaat niet werken, je kan niet 1 poort naar 2 machines forwarden.

voor de rest gaat het volgens mij wel werken.

[ Voor 9% gewijzigd door Seth4Chaos op 01-10-2003 13:18 ]

Mistakes are proof that you are trying...


Verwijderd

Topicstarter
hoe moet je het dan doen, als je ze naar alle pc's wilt forwarden ?!

Verwijderd

Ik weet niet in hoeverre jij je gebruikers vertrouwt, maar
code:
1
2
3
4
5
6
7
8
9
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT

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

iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth1 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE

zou genoeg moeten zijn om internet te sharen geloof ik

  • blouweKip
  • Registratie: November 1999
  • Laatst online: 29-04 18:25
Ik zou voor de clients btw een dhcp client gebruiken (en dus op je router een dhcpserver draaien)

verder is dit ook wel een mooie firewall: http://www.shorewall.net/, gebruikt ook iptables en neemt je een zooi werkt uit handen

"For my friends, anything; for my enemies, the law."


Verwijderd

Topicstarter
Verwijderd schreef op 01 October 2003 @ 13:57:
Ik weet niet in hoeverre jij je gebruikers vertrouwt, maar
code:
1
2
3
4
5
6
7
8
9
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT

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

iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth1 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE

zou genoeg moeten zijn om internet te sharen geloof ik
ja maar daarbij...wil ik wel graag wat dingen instellen als dat als je ssh'ed naar die router dat ie automatisch doorstuurd naar 192.168.0.2

oftewel

#ssh forwarden naar 192.168.0.2
iptables -A PREROUTING -t nat -p TCP --destination 213.73.176.210 --dport 22 -j DNAT --to 192.168.0.2
iptables -A PREROUTING -t nat -p UDP --destination 213.73.176.210 --dport 22


Maar forward dat scriptje nou ook alle poorten zodat gebruikers kunnen mailen / irc'en gamen etc? ??
blouweKip schreef op 01 October 2003 @ 13:57:
Ik zou voor de clients btw een dhcp client gebruiken (en dus op je router een dhcpserver draaien)
Waarom zou ik dat doen ? Het zijn maar 2 pc's ...

[ Voor 12% gewijzigd door Verwijderd op 01-10-2003 14:09 ]


Verwijderd

ja maar een port forwarden is iets anders als packetjes masqueraden van/naar je lokaal netwerkje

  • Chezzer
  • Registratie: September 2003
  • Laatst online: 05-02-2023
Ik weet niet precies wat je met dat linuxservertje wil doen, maar Smoothwall of ipcop zijn IMHO leuke distro's voor software routers met veel leuke functies.

  • blouweKip
  • Registratie: November 1999
  • Laatst online: 29-04 18:25
Waarom zou ik dat doen ? Het zijn maar 2 pc's ...
Omdat het makkelijker is en niet veel meer tijd kost ...

"For my friends, anything; for my enemies, the law."

Pagina: 1