[+] Brak wyj

Masz problemy z siecią bądź internetem? Zapytaj tu
giver
Posty: 45
Rejestracja: 22 lutego 2009, 15:37
Lokalizacja: Tarnobrzeg

[+] Brak wyjścia na świat z za rutera

Post autor: giver »

(kablówka) --- (modem motorola) --- (ruter D-Link 192.168.0.1/255.255.255.0) --- [eth0](ruter Debian)[eth1] --- komputer(Debian/laptop)
/etc/network/interafce:
auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static
address 192.168.2.1
netmask 255.255.255.0
network 192.168.2.0
broadcast 192.168.2.255
/etc/dhcp3/dhcp.conf:
GNU nano 2.0.7 File: dhcpd.conf

ddns-update-style interim;

subnet 192.168.2.0 netmask 255.255.255.0
{
range 192.168.2.10 192.168.2.30;
option domain-name-servers 194.204.159.1, 194.204.152.34;
option netbios-name-servers 192.168.2.1;
option broadcast-address 192.168.2.255;
option subnet-mask 255.255.255.0;
option routers 192.168.2.1;
default-lease-time 7200;
max-lease-time 14400;
}
Interfejs eth2 w laptopie (kabel skrosowany z ruterem):
eth2 Link encap:Ethernet HWaddr 00:0e:2e:e5:ce:30
inet addr:192.168.2.10 Bcast:192.168.2.255 Mask:255.255.255.0
inet6 addr: fe80::20e:2eff:fee5:ce30/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3 errors:0 dropped:0 overruns:0 frame:0
TX packets:25 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:472 (472.0 B) TX bytes:4424 (4.3 KiB)
Interrupt:10 Base address:0x1000
Pinguję serwer z laptopa (192.168.2.1) bez problemu. Wyjścia na świat natomiast nie ma.
ping 72.14.221.104
PING 72.14.221.104 (72.14.221.104) 56(84) bytes of data.
From 192.168.0.1: icmp_seq=1 Redirect Host(New nexthop: 212.160.160.1)
From 192.168.0.1: icmp_seq=2 Redirect Host(New nexthop: 212.160.160.1)
From 192.168.0.1: icmp_seq=3 Redirect Host(New nexthop: 212.160.160.1)
From 192.168.0.1: icmp_seq=4 Redirect Host(New nexthop: 212.160.160.1)
From 192.168.0.1: icmp_seq=5 Redirect Host(New nexthop: 212.160.160.1)
From 192.168.0.1: icmp_seq=6 Redirect Host(New nexthop: 212.160.160.1)
^C
--- 72.14.221.104 ping statistics ---
6 packets transmitted, 0 received, 100% packet loss, time 5008ms
Wyjście na świat zaś jest z serwera:
debian:/etc/dhcp3# ping 72.14.221.104
PING 72.14.221.104 (72.14.221.104) 56(84) bytes of data.
64 bytes from 72.14.221.104: icmp_seq=1 ttl=243 time=54.3 ms
64 bytes from 72.14.221.104: icmp_seq=2 ttl=243 time=37.9 ms
64 bytes from 72.14.221.104: icmp_seq=3 ttl=243 time=34.0 ms
64 bytes from 72.14.221.104: icmp_seq=4 ttl=243 time=35.3 ms
64 bytes from 72.14.221.104: icmp_seq=5 ttl=243 time=38.3 ms
^C
--- 72.14.221.104 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4015ms
rtt min/avg/max/mdev = 34.024/39.991/54.308/7.336 ms
Według mnie serwer nie przekazuje pakietów między interfejsami w routerze, jednak najważniejsza linijka jest dodana do iptables:
echo "1" > /proc/sys/net/ipv4/ip_forward
Uprzedzając pytania: reguły są dodawane podczas startu systemu bez problemu.

Pełna konfiguracja iptables:
http://giver.az.pl/router/rc.tables
Raffaello22
Posty: 88
Rejestracja: 06 lutego 2008, 15:17

Post autor: Raffaello22 »

W iptables na początku jest:

Kod: Zaznacz cały

#interfejs globalny - dla sieci zewnetrznej
G_NET_NAME="eth0"
G_NET_IP=""
Nie ma wpisanego adresu IP, a co za tym idzie tutaj:

Kod: Zaznacz cały

$F -t nat -A POSTROUTING -o $G_NET_NAME -j SNAT --to-source $G_NET_IP
nie ma co podstawić więcnie dochodzi do ,,Natowania''.

Poza tym tutaj pobierasz dynamicznie IP:

Kod: Zaznacz cały

auto eth0
iface eth0 inet dhcp 
Więc musi to być dynamicznie podstawiane.

A możesz mi powiedzieć do czego ta linijka służy?

Kod: Zaznacz cały

$F -t nat -A POSTROUTING -o $L_NET_NAME -j SNAT --to-source $G_NET_IP
Akurat regułka, która w twoim przypadku jest potrzebna jest w komentarzu:

Kod: Zaznacz cały

#$F -t nat -A POSTROUTING -o $G_NET_NAME -j MASQUERADE
giver
Posty: 45
Rejestracja: 22 lutego 2009, 15:37
Lokalizacja: Tarnobrzeg

Post autor: giver »

Reguły generowane za pomocą pewnego skryptu.
Rozumiem, że gdy dodam do skryptu startowego tylko:

Kod: Zaznacz cały

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

bez żadnych reguł dla iptables, to powinno działać, tak?

Ps. Bo nie działa.
Raffaello22
Posty: 88
Rejestracja: 06 lutego 2008, 15:17

Post autor: Raffaello22 »

Nie będzie działać bo router D-link "nie wie" gdzie jest sieć 192.168.2.0. Więc albo ustawiasz routing, albo tak jak miałeś za pomocą nata.

Na początek proponuje dać coś takiego w iptables:

Kod: Zaznacz cały

echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -F
iptables -X
iptables -t nat -X
iptables -t nat -F 
iptables -t nat -A POSTROUTING -s 192.168.2.0/255.255.255.0 -d 0.0.0.0/0 -o eth0 -j MASQUERADE
Odpalić iptables jeszcze raz.
giver
Posty: 45
Rejestracja: 22 lutego 2009, 15:37
Lokalizacja: Tarnobrzeg

Post autor: giver »

Dobrze, działa. Teraz tylko:

Kod: Zaznacz cały

iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
i pootwierać to co trzeba.
Raffaello22
Posty: 88
Rejestracja: 06 lutego 2008, 15:17

Post autor: Raffaello22 »

Kod: Zaznacz cały

iptables -P OUTPUT DROP
Może nie tak drastycznie, siebie nie blokuj aż tak :)

Kolego moja rada, zrób to nie za pomocą generatora ale za pomocą jakiegoś dobrego opisu do iptables, wtedy unikniesz takich problemów.

Pozdrawiam
giver
Posty: 45
Rejestracja: 22 lutego 2009, 15:37
Lokalizacja: Tarnobrzeg

Post autor: giver »

Teraz to już wiem ;-) Chciałem się pobawić w konfiguracje routera opartego na linuksie i przy okazji czegoś się nauczyć ;-)
Dzięki za wszystkie rady.
ODPOWIEDZ