Nowe posty

Autor Wątek: IPTABLES - problem z internetem  (Przeczytany 3061 razy)

Lips

  • Gość
IPTABLES - problem z internetem
« dnia: 2010-07-15, 10:16:00 »
mam internet podłączony do eth0 i chciałbym udostępniać internet dalej przez eth1 jednak nie ma internetu na karcie eth1 czy mam coś nie tak z regułkami? mógłby ktoś zobaczyc?

iptables-save 
# Generated by iptables-save v1.4.3.2 on Wed Jul 14 08:29:47 2010
*nat
:PREROUTING ACCEPT [2014:300185]
:POSTROUTING ACCEPT [332:25555]
:OUTPUT ACCEPT [599:60492]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Wed Jul 14 08:29:47 2010
# Generated by iptables-save v1.4.3.2 on Wed Jul 14 08:29:47 2010
*mangle
:PREROUTING ACCEPT [100757:16567363]
:INPUT ACCEPT [100595:16554885]
:FORWARD ACCEPT [156:11524]
:OUTPUT ACCEPT [99475:50998368]
:POSTROUTING ACCEPT [99943:51050094]
COMMIT
# Completed on Wed Jul 14 08:29:47 2010
# Generated by iptables-save v1.4.3.2 on Wed Jul 14 08:29:47 2010
*filter
:INPUT ACCEPT [26499:3223414]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [19724:2157429]
-A FORWARD -d 10.0.0.0/24 -i eth1 -j DROP
-A FORWARD -s 10.0.0.0/24 -i eth1 -j ACCEPT
-A FORWARD -d 10.0.0.0/24 -i eth0 -j ACCEPT
COMMIT
# Completed on Wed Jul 14 08:29:47 2010

freerider

  • Gość
IPTABLES - problem z internetem
« Odpowiedź #1 dnia: 2010-07-15, 10:37:12 »
Pokaż skrypt firewalla.

Lips

  • Gość
IPTABLES - problem z internetem
« Odpowiedź #2 dnia: 2010-07-15, 10:54:36 »
#!/bin/bash
iptables -F
iptables -X
iptables -F -t nat
iptables -X -t nat
iptables -F -t filter
iptables -X -t filter
iptables -P INPUT   ACCEPT
iptables -P OUTPUT  ACCEPT
iptables -P FORWARD DROP

export LAN=eth0
export WAN=eth1

iptables -I FORWARD -i ${LAN} -d 10.0.0.0/255.255.255.0 -j DROP
iptables -A FORWARD -i ${LAN} -s 10.0.0.0/255.255.255.0 -j ACCEPT
iptables -A FORWARD -i ${WAN} -d 10.0.0.0/255.255.255.0 -j ACCEPT
iptables -t nat -A POSTROUTING -o ${WAN} -j MASQUERADE
dla samego:

#!/bin/bash
iptables -F
iptables -X
iptables -F -t nat
iptables -X -t nat
iptables -F -t filter
iptables -X -t filter
iptables -P INPUT   ACCEPT
iptables -P OUTPUT  ACCEPT
iptables -P FORWARD ACCEPT
też nic nie działa


dla podpowiedzi:
route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.0.0        0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.137.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
0.0.0.0         192.168.137.29  0.0.0.0         UG    0      0        0 eth0
internet => eth0 (192.168.137.29) => serwer => eth1 (10.0.0.1) => LAN (10.0.0.0/24)

ifconfig -a 
eth0      Link encap:Ethernet  HWaddr 00:19:db:8f:0f:f4
          inet addr:192.168.137.29  Bcast:192.168.137.255  Mask:255.255.255.0
          inet6 addr: fe80::219:dbff:fe8f:ff4/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:65105 errors:0 dropped:0 overruns:0 frame:0
          TX packets:70841 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:13078508 (12.4 MiB)  TX bytes:48815011 (46.5 MiB)

eth1      Link encap:Ethernet  HWaddr 00:50:ba:d4:cb:ed
          inet addr:10.0.0.1  Bcast:10.0.0.255  Mask:255.255.255.0
          inet6 addr: fe80::250:baff:fed4:cbed/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:908 errors:0 dropped:0 overruns:0 frame:0
          TX packets:236 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:84375 (82.3 KiB)  TX bytes:16985 (16.5 KiB)
          Interrupt:16 Base address:0x6000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:102 errors:0 dropped:0 overruns:0 frame:0
          TX packets:102 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:10271 (10.0 KiB)  TX bytes:10271 (10.0 KiB)

sit0      Link encap:IPv6-in-IPv4
          NOARP  MTU:1480  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
Ping eth1

 ping -I eth1 google.pl
PING google.pl (74.125.43.105) from 10.0.0.1 eth1: 56(84) bytes of data.
From 10.0.0.1 icmp_seq=2 Destination Host Unreachable
From 10.0.0.1 icmp_seq=3 Destination Host Unreachable
From 10.0.0.1 icmp_seq=4 Destination Host Unreachable
Ping eth0

ping -I eth0 google.pl
PING google.pl (74.125.43.99) from 192.168.137.29 eth0: 56(84) bytes of data.
64 bytes from bw-in-f99.1e100.net (74.125.43.99): icmp_seq=1 ttl=53 time=299 ms
64 bytes from bw-in-f99.1e100.net (74.125.43.99): icmp_seq=2 ttl=53 time=312 ms
64 bytes from bw-in-f99.1e100.net (74.125.43.99): icmp_seq=3 ttl=53 time=335 ms
64 bytes from bw-in-f99.1e100.net (74.125.43.99): icmp_seq=4 ttl=53 time=258 ms
64 bytes from bw-in-f99.1e100.net (74.125.43.99): icmp_seq=5 ttl=53 time=249 ms

--- google.pl ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4001ms
rtt min/avg/max/mdev = 249.922/291.316/335.929/32.406 ms

Offline roobal

  • Users
  • Guru
  • *****
  • Wiadomości: 2056
    • Zobacz profil
IPTABLES - problem z internetem
« Odpowiedź #3 dnia: 2010-07-16, 01:46:03 »
Źle do tego podchodzisz, po pierwsze skoro net wchodzi przez eth0 to eth0 w tym wypadku powinien być WAN a przez eth1 udostępniasz łącze dalej. Po drugie trochę sobie to skomplikowałeś zbytnio nie ma sensu przerzucania pakietów do eth1, ja bym to zrobił tak:

Zamiast

iptables -I FORWARD -i ${LAN} -d 10.0.0.0/255.255.255.0 -j DROP
iptables -A FORWARD -i ${LAN} -s 10.0.0.0/255.255.255.0 -j ACCEPT
iptables -A FORWARD -i ${WAN} -d 10.0.0.0/255.255.255.0 -j ACCEPT
iptables -t nat -A POSTROUTING -o ${WAN} -j MASQUERADE
Spróbuj tak:

iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j MASQUERADE
iptables -A FORWARD -s 10.0.0.0/24 -j ACCEPT
Do tego musisz uaktywnić w jądrze możliwość przekierowywania pakietów:

echo 1 > /proc/sys/net/ipv4/ip_forward
W całości zrobiłbym to tak:

#!/bin/bash

# Aktywacja przekierowania pakietów w jądrze

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

# Czyszczenie reguł zapory sieciowej

iptables -F
iptables -X
iptables -F -t nat
iptables -X -t nat

# Ustalanie polityki bezpieczeństwa

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

# Zapętlanie pakietów

iptables -A INPUT -i lo -j ACCEPT
iptables -A FORWARD -o lo -j ACCEPT

# Ustalanie reguł zapory sieciowej

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

# Udostępnianie połączenia sieciowego

iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j MASQUERADE
iptables -A FORWARD -s 10.0.0.0/24 -j ACCEPT
Tak swoją drogą, skoro używasz maski dla adresów z klasy trzeciej to nie lepiej użyć adresów klasy trzeciej?

Pozdrawiam!