[RH8] Iptables + ADSL != Internet delen?

Pagina: 1
Acties:

  • paulmadejong
  • Registratie: Maart 2001
  • Laatst online: 23-04 16:04
Ik heb zojuist mn routertje hier thuis overgezet naar Linux, Red Hat 8. Alles gelukt en met behulp ADSL4Linux draait, zoals je ziet mn internetverbinding ook. Ik zit dit dus te tikken vanuit X :)

Maar dan het volgende, ik wil dus het internet delen met het netwerk al hier

Mijn ifconfig:
[root@localhost root]# ifconfig
eth0 Link encap:Ethernet HWaddr 52:54:AB:3C:8C:52
inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:982 errors:0 dropped:0 overruns:0 frame:0
TX packets:556 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:137857 (134.6 Kb) TX bytes:102140 (99.7 Kb)
Interrupt:5 Base address:0xe400

eth1 Link encap:Ethernet HWaddr 00:80:48:C6:68:7C
inet addr:10.0.0.150 Bcast:10.0.0.255 Mask:255.0.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2332 errors:0 dropped:0 overruns:0 frame:0
TX packets:1917 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:1106148 (1.0 Mb) TX bytes:339948 (331.9 Kb)
Interrupt:10 Base address:0xe800

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:10 errors:0 dropped:0 overruns:0 frame:0
TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:700 (700.0 b) TX bytes:700 (700.0 b)

ppp0 Link encap:Point-to-Point Protocol
inet addr:62.251.70.118 P-t-P:195.190.241.134 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:1395 errors:0 dropped:0 overruns:0 frame:0
TX packets:1637 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:987773 (964.6 Kb) TX bytes:234740 (229.2 Kb)
Werkt dus, en vanuit het interne netwerk kan ik de server 192.168.0.1 ook pingen.
Mooi, dan iptables instellen zou je denken:
[root@localhost root]#
[root@localhost root]# iptables -F
[root@localhost root]# iptables -F -t nat
[root@localhost root]# iptables -P INPUT ACCEPT
[root@localhost root]# iptables -P FORWARD ACCEPT
[root@localhost root]# iptables -P OUTPUT ACCEPT
[root@localhost root]# iptables -t nat -P INPUT ACCEPT
iptables: Bad built-in chain name
[root@localhost root]# iptables -t nat -P FORWARD ACCEPT
iptables: Bad built-in chain name
[root@localhost root]# iptables -t nat -P OUTPUT ACCEPT
[root@localhost root]# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Nogmaals de internetverbinding op de linuxbak zelf werkt. Ik geef op de client de volgende gegevens in:
ip: 192.168.0.2
gateway: 192.168.0.1
dns: 81.17.33.2

connecten met naam : www.tweakers.net
noway
dan maar een ip:
http://81.17.46.189
Ook niet :(

Wat doe ik in godsnaam fout?

MacBook Pro 14" 2021


  • Fatal-Error
  • Registratie: Juli 2001
  • Niet online
Weet niet of het voor 2.4 kernels nog nodig is, maar heb je onderstaande gedaan?
code:
1
echo '1' > /proc/sys/net/ipv4/ip_forward

Welcome to the desert of the real.


Verwijderd

Hier mijn config voor mijn routertjes die her en der verspreid staan over de wereld:

/etc/sysconfig/iptables
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
# Firewall configuration written by lokkit
# Manual customization of this file is not recommended.
# Note: ifup-post will punch the current nameservers through the
#       firewall; such entries will *not* be listed here.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Lokkit-0-50-INPUT - [0:0]
-A INPUT -j RH-Lokkit-0-50-INPUT
# allow http/ssh
-A RH-Lokkit-0-50-INPUT -p tcp -m tcp --dport 80 --syn -j ACCEPT
-A RH-Lokkit-0-50-INPUT -p tcp -m tcp --dport 22 --syn -j ACCEPT
-A RH-Lokkit-0-50-INPUT -i lo -j ACCEPT
-A RH-Lokkit-0-50-INPUT -i eth1 -j ACCEPT
# hier je nameservers - in dit geval @home - pas aan aan je eigen voorkeur!
-A RH-Lokkit-0-50-INPUT -p udp -m udp -s 212.120.66.194 --sport 53 -d 0/0 -j ACCEPT
-A RH-Lokkit-0-50-INPUT -p udp -m udp -s 212.120.66.195 --sport 53 -d 0/0 -j ACCEPT
-A RH-Lokkit-0-50-INPUT -p udp -m udp -s 213.51.129.131 --sport 53 -d 0/0 -j ACCEPT
-A RH-Lokkit-0-50-INPUT -p udp -m udp -s 213.51.129.132 --sport 53 -d 0/0 -j ACCEPT
-A RH-Lokkit-0-50-INPUT -p udp -m udp -s 213.51.129.133 --sport 53 -d 0/0 -j ACCEPT
# laat icmp soms toe (niet alles - DDoS!)
-A RH-Lokkit-0-50-INPUT -p icmp -m icmp -s 0/0 --icmp-type echo-request -d 0/0 -j ACCEPT
-A RH-Lokkit-0-50-INPUT -p icmp -m icmp -s 0/0 --icmp-type echo-reply -d 0/0 -j
ACCEPT
-A RH-Lokkit-0-50-INPUT -p icmp -m icmp -s 0/0 --icmp-type destination-unreachable -d 0/0 -j ACCEPT
-A RH-Lokkit-0-50-INPUT -p icmp -m icmp -s 0/0 --icmp-type redirect -d 0/0 -j ACCEPT
#rest d'r uut flippen
-A RH-Lokkit-0-50-INPUT -p tcp -m tcp --syn -j REJECT
-A RH-Lokkit-0-50-INPUT -p udp -m udp -j REJECT
-A RH-Lokkit-0-50-INPUT -p icmp -m icmp -j REJECT
COMMIT
*nat
# forwarding
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT


/etc/sysctl.conf
code:
1
2
net.ipv4.ip_forward = 1
net.ipv4.ip_dynaddr = 1


ip_dynaddr is alleen nodig als je een dynamic IP hebt. Met "/sbin/service start iptables" start je de firewall. In /etc/rcX.d/ (X = runlevel) kun je dan een symlink aanmaken (S08iptables) naar /etc/init.d/iptables om dit tijdens bootup te laden:

code:
1
2
cd /etc/rc3.d
ln -s ../init.d/iptables S08iptables


Suc6!

[edit]Ohja, bij mij is eth1 netwerk en eth0 internet, dus als dat bij jou omgekeerd is moet je dat hier ook omkeren.

[ Voor 3% gewijzigd door Verwijderd op 31-12-2002 19:34 ]


Verwijderd

Hoi,

Even over de fouten die je scriptje geeft, de INPUT en OUTPUT chain bestaan binnen nat niet wel PREROUTING en POSTROUTING.
Waarbij ik bijna zeker weet dat PREROUTING ook op ACCEPT moet staan.
Probeer daarom het onderste eens. Let wel alles staat nu open (maarja wel ultiem om te testen).

$IPTABLES -P INPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -t nat -P PREROUTING ACCEPT
$IPTABLES -t nat -P POSTROUTING ACCEPT
$IPTABLES -t nat -P OUTPUT ACCEPT
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -A POSTROUTING -t nat -o $EXTERNIF -j MASQUERADE

Ook wat Fatal-Error aangeeft "echo '1' > /proc/sys/net/ipv4/ip_forward" is volgens mij nodig.

Verwijderd

INPUT, FORWARD, en OUTPUT bestaan niet in de nat chain (-t nat).

in principe zijn deze 2 regels genoeg voor jou om het te laten werken:

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

moet je wel op de andere (windows?) computers die router van je opgeven als gateway (of via je dhcp server instellen als gateway - dit doe ik) maar ik neem aan dat je dit wel gedaan hebt.

  • Buffy
  • Registratie: April 2002
  • Laatst online: 26-12-2024

Buffy

Fire bad, Tree pretty

Kleine correctie: de OUTPUT chain bestaat wel in de nat table. De PREROUTING chain is namelijk alleen voor de geforwarde pakketjes. De OUTPUT chain is voor lokaal gegenereerde pakketjes.

That which doesn't kill us, makes us stranger - Trevor (AEon FLux)
When a finger points at the moon, the imbecile looks at the finger (Chinese Proverb)


Verwijderd

Ik heb net met de kerstdagen bij m'n zus ook een linuxroutertje geinstalleerd en dat is met behulp van de aanwijzingen op http://forum.nedlinux.nl/viewtopic.php?t=5705 prima gelukt!

  • Seth4Chaos
  • Registratie: Maart 2001
  • Niet online

Seth4Chaos

that's me...

Mischien overbodig dat ik het meedeel maar je kernel moet ook ip-forwarding ondersteunen en het is ook handig dat je dat /proc gein in je kernel meecompileerd.

Mistakes are proof that you are trying...


  • paulmadejong
  • Registratie: Maart 2001
  • Laatst online: 23-04 16:04
Inmiddels is het gelukt met bovenstaande tables, het bleek een fout bij de clients te zijn :(

MacBook Pro 14" 2021

Pagina: 1