Страница 1 из 2

Многофункциональный роутер [Как?]

Добавлено: 2009-04-20 7:01:27
itux
Имеется: 1 PowerMac G4 MDD 2x867Mhz PowerPC G4/ 1xGigabit Lan / 1x 100Megabit Lan
OS: Linux Debian, Lenny, PowerPC
Задача:
1) настроить маршрутизацию таким образом:
- С сетевой карты 100Мбит, приходит внешняя сетка с адресами 10.16.0.0 и 10.17.0.0
- Через PPTP с карты 100Мбит, приходит интернет со статическим IP
- С карточки GigabitEthernet должно выходить на Гигабитный свитч и раздаваться всем подключенным инет, и доступ до внутренней сети [пока не понял как именно, либо через закрытую сетку // 192.168.х.х , либо забирать несколько IP-ов у провайдера //Не легально :roll: :)]
- [В планах] Добавить либо карточку, либо просто точку доступа Wi-Fi, для подключения беспроводных устройств...

2) На сервере должны работать:
SMTP [выполнено, exim4]
IMAP
WWW
DC++ Server [выполнено, dbhub]
FTP
сервисы для внешней сети и локалки провайдера
и + SAMBA для внутрянки моей...

Вот такие помидоры... что кто посоветует ? :oops:

Re: Многофункциональный роутер [Как?]

Добавлено: 2009-04-20 9:22:48
weec
обратиться в оутсорсинговую компанию и нанять там специалиста

в итоге:
документацию читать не нужно и все будет грамотно настроено

Re: Многофункциональный роутер [Как?]

Добавлено: 2009-04-20 9:26:00
itux
Глупый ответ, и совершенно не Опен.... :(
И без Аутсорсингов много чего можно самому сделать, я всего лишь прошу подсказать или посоветовать как... а не продать или купить...
Хоть и оффтоп, но наболело... хрена, простите, вы лысого предлагаете платные услуги... ?!
Если линукс и иже сними опенсорц.... :) :bn:

Re: Многофункциональный роутер [Как?]

Добавлено: 2009-04-20 11:20:12
f_andrey
itux писал(а):Хоть и оффтоп, но наболело... хрена, простите, вы лысого предлагаете платные услуги... ?!
Если линукс и иже сними опенсорц.... :) :bn:
Ответ как раз по уровню вопроса, я хоть обычно в этой ветке и не выступаю, но либо как посоветовали выше, либо RTFM :evil: :evil: :evil:

Кстати местному модераторы, может в null тему, ибо какойто не конструктивный топик :bn:

Re: Многофункциональный роутер [Как?]

Добавлено: 2009-04-20 12:30:32
itux
Спасибо за ответ, видимо мало проку от тех кто так отвечает :)
Буду сам мучатся, а сюда ничего не запосчу.... злые вы....

Re: Многофункциональный роутер [Как?]

Добавлено: 2009-04-20 13:02:43
Alex Keda
=))
вы ничего не сделали и ждёте готовых решений.
никто за вас ничего делать не будет.

Re: Многофункциональный роутер [Как?]

Добавлено: 2009-04-20 13:10:15
_Andy
lissyara писал(а):=))
вы ничего не сделали и ждёте готовых решений.
никто за вас ничего делать не будет.
Он наверное о названиях прог спрашивал, кто чем пользуется.

Re: Многофункциональный роутер [Как?]

Добавлено: 2009-04-20 18:53:45
itux
Ну хоть кто-то понял меня...
А насчет не сделал... зря :)
Сделал таки нормальный роутер, все железные за исключением > 1000$ просто отдыхают....
Осталось сделать маршрутизауию для второго инет канала(так сказать резервная линия) и активный канал для пользователей другой сети, как внутрянняя сетка :) И сделать ВайФай доступ к инету и сетям :)

Но осталась одна главная затыка, почта работает, веб работает а вот с хаба никто скачать не может.... пишет таймаут, и что самое странное не видят друг друга в хабе... Так понимаю что проблема в самом серваке... но где :(

Re: Многофункциональный роутер [Как?]

Добавлено: 2009-04-21 10:20:25
_andy
itux писал(а):Но осталась одна главная затыка, почта работает, веб работает а вот с хаба никто скачать не может.... пишет таймаут, и что самое странное не видят друг друга в хабе... Так понимаю что проблема в самом серваке... но где :(
Файрвол пропускает соединения по нужным портам?
p.s: для веба Apache или nginx?

Re: Многофункциональный роутер [Как?]

Добавлено: 2009-04-22 18:14:14
itux

Код: Выделить всё

#!/bin/sh
inet=ppp0 # PPTP internet connect
lan=eth1  # KOUg local net
wan=eth0  # Beeline intranet

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

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

iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i $lan -j ACCEPT

iptables -A INPUT -s 127.0.0.1 -p ALL -j ACCEPT
iptables -A FORWARD -s 127.0.0.1 -p ALL -j ACCEPT

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state NEW -i ! $inet -j ACCEPT
iptables -A INPUT -m state --state NEW -i ! $wan -j ACCEPT
iptables -A FORWARD -i $inet -o $lan -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A FORWARD -i $lan -o $inet -j ACCEPT

iptables -A INPUT -i $inet -p tcp --dport microsoft-ds -j DROP
iptables -A INPUT -i $inet -p udp --dport microsoft-ds -j DROP


iptables -I INPUT -p tcp --dport ssh -i ppp0 -m state --state NEW -m recent --set
iptables -I INPUT -p tcp --dport ssh -i ppp0 -m state --state NEW -m recent --update --seconds 600 --hitcount 2 -j DROP

iptables -t nat -A POSTROUTING -o $inet -j MASQUERADE
iptables -t nat -A POSTROUTING -o $wan -j MASQUERADE

iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

iptables -t nat -I PREROUTING -p tcp --dport 4222:4333 -j DNAT --to-destination 192.168.0.2
iptables -t nat -I PREROUTING -p udp --dport 4222:4333 -j DNAT --to-destination 192.168.0.2
iptables -t nat -I PREROUTING -p tcp --dport 6881:6999 -j DNAT --to-destination 192.168.0.2
iptables -t nat -I PREROUTING -p udp --dport 6881:6999 -j DNAT --to-destination 192.168.0.2

iptables -A FORWARD -i $inet -o $inet -j REJECT
iptables -A FORWARD -i $wan -o $inet -j REJECT
iptables -A FORWARD -i $wan -o $wan -j REJECT

iptables -A INPUT -p icmp -j ACCEPT
Инет работает, ССХ работает ДЦ++ хаб не работает (ругайтесь, мож что не так прописал, ибо в иптаблесах не силен)

Код: Выделить всё

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
172.31.224.7    10.17.0.1       255.255.255.255 UGH   0      0        0 eth0
172.31.224.254  *               255.255.255.255 UH    0      0        0 ppp0
10.16.0.0       *               255.255.255.0   U     0      0        0 eth0
192.168.0.0     *               255.255.255.0   U     0      0        0 eth1
10.17.0.0       *               255.255.252.0   U     0      0        0 eth0
default         koug.org        0.0.0.0         UG    0      0        0 ppp0
default         10.17.0.1       0.0.0.0         UG    0      0        0 eth0
Еще приколюха:

Код: Выделить всё

ping 10.16.174.252
PING 10.16.174.252 (10.16.174.252) 56(84) bytes of data.
^C
--- 10.16.174.252 ping statistics ---
6 packets transmitted, 0 received, 100% packet loss, time 5014ms

Код: Выделить всё

ping -I eth0 10.16.174.252
PING 10.16.174.252 (10.16.174.252) from 10.17.3.124 eth0: 56(84) bytes of data.
64 bytes from 10.16.174.252: icmp_seq=1 ttl=123 time=0.694 ms
64 bytes from 10.16.174.252: icmp_seq=2 ttl=123 time=4.27 ms
64 bytes from 10.16.174.252: icmp_seq=3 ttl=123 time=0.552 ms
^C
--- 10.16.174.252 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 0.552/1.841/4.277/1.723 ms

Re: Многофункциональный роутер [Как?]

Добавлено: 2009-04-22 21:32:36
_Andy
Попробуй, еще указать опцию -m tcp в соединениях, без нее бывает, не работает
(я читал о таком). Чем руководствовался, когда правила писал?

Re: Многофункциональный роутер [Как?]

Добавлено: 2009-04-23 9:16:46
itux
Основу брал от седа
Если кто хорошо соображает, прошу помочь в донастройке следующей конфигурации:
LAN=eth1 // 192.168.0.0/24
WAN=eth0 // 10.17.0.0/24
INET=ppp0 // PPTP

доступ из INET в LAN [22,25,80,110,411(dchub)]
доступ из WAN в LAN [25,80,110,411]
доступ из LAN в WAN [all]
доступ из LAN в INET [all]

как указать в лине, что-бы пинг для адресов начинающихся с 10.0.0.0 по 10.255.255.255 шел через eth0 ??????????
гдето через route add :(

Re: Многофункциональный роутер [Как?]

Добавлено: 2009-04-23 13:16:22
Гость
itux писал(а):

Код: Выделить всё

iptables -t nat -I PREROUTING -p tcp --dport 4222:4333 -j DNAT --to-destination 192.168.0.2
iptables -t nat -I PREROUTING -p udp --dport 4222:4333 -j DNAT --to-destination 192.168.0.2
iptables -t nat -I PREROUTING -p tcp --dport 6881:6999 -j DNAT --to-destination 192.168.0.2
iptables -t nat -I PREROUTING -p udp --dport 6881:6999 -j DNAT --to-destination 192.168.0.2
Почему -I PREROUTING, когда надо -A PREROUTING?
У тебя сервисы находятся не на той же тачке, что и файрвол? Тогда их в цепочку FORWARD следует добавить.

Re: Многофункциональный роутер [Как?]

Добавлено: 2009-04-23 13:23:07
_andy
Вообще погляди ссылку: http://forum.lissyara.su/viewtopic.php?p=117814#p117814.
Там работающие правила, и линк на документацию по iptables на русском.

Re: Многофункциональный роутер [Как?]

Добавлено: 2009-04-24 6:48:03
itux

Код: Выделить всё

#!/bin/bash
# Network information
LAN=eth1
WAN=eth0
INET=ppp0

# Clean iptables rule
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X

# Add beeline WAN routing
route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.17.0.1

# Accept loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A FORWARD -s 127.0.0.1 -p ALL -j ACCEPT

# Allow established connections, and those not coming from the outside
iptables -A INPUT -j ACCEPT
iptables -A FORWARD -i $INET -o $LAN -j ACCEPT
iptables -A FORWARD -i $WAN -o $LAN  -j ACCEPT
iptables -A FORWARD -i $LAN -o $INET -j ACCEPT
iptables -A FORWARD -i $LAN -o $WAN -j ACCEPT
iptables -A FORWARD -i $INET -o $INET -j REJECT
iptables -A FORWARD -i $WAN -o $INET -j REJECT
iptables -A FORWARD -i $WAN -o $WAN -j REJECT

# Restrict ssh session from internet
iptables -I INPUT -p tcp --dport ssh -i $INET -m state --state NEW -m recent --set
iptables -I INPUT -p tcp --dport ssh -i $INET -m state --state NEW -m recent --update --seconds 600 --hitcount 2 -j DROP
iptables -I INPUT -p tcp --dport ssh -i $WAN  -m state --state NEW -m recent --set
iptables -I INPUT -p tcp --dport ssh -i $WAN -m state --state NEW -m recent --update --seconds 600 --hitcount 2 -j DROP

# Disabling SMB connections from Internet
iptables -A INPUT -i $INET -p tcp --dport microsoft-ds -j DROP
iptables -A INPUT -i $INET -p udp --dport microsoft-ds -j DROP

# Accepting to hub server connection
iptables -A INPUT -p tcp --dport 411 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 411 -j ACCEPT
iptables -A INPUT -p tcp --dport 1209 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 1209 -j ACCEPT

# Natting
iptables -t nat -A POSTROUTING -p tcp -j SNAT --to-source 195.46.164.177
iptables -t nat -A POSTROUTING -p tcp -j SNAT --to-source 10.17.3.124

iptables -t nat -I PREROUTING -p udp --dport 4222 -j DNAT --to 192.168.0.2:4222
iptables -I FORWARD -p udp -d 192.168.0.2 --dport 4222 -j ACCEPT
iptables -t nat -I PREROUTING -p tcp --dport 4222 -j DNAT --to 192.168.0.2:4222
iptables -I FORWARD -p tcp -d 192.168.0.2 --dport 4222 -j ACCEPT
# Set all TTL to 64
iptables -t mangle -A PREROUTING -i $INET -j TTL --ttl-set 64

# Masquerade.
iptables -t nat -A POSTROUTING -o $INET -j MASQUERADE
iptables -t nat -A POSTROUTING -o $WAN -j MASQUERADE

# Enable routing.
echo 1 > /proc/sys/net/ipv4/ip_forward

Код: Выделить всё

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
172.31.224.7    0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
172.31.224.253  0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
172.31.224.8    10.17.0.1       255.255.255.255 UGH   0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
10.17.0.0       0.0.0.0         255.255.252.0   U     0      0        0 eth0
10.0.0.0        10.17.0.1       255.0.0.0       UG    0      0        0 eth0
0.0.0.0         195.46.164.177  0.0.0.0         UG    0      0        0 ppp0
0.0.0.0         10.17.0.1       0.0.0.0         UG    0      0        0 eth0
успехи: Работает скачка с п2п $INET, $WAN (правда медленно ко мне, от меня быстро).
Стало возможным попасть ко мне на хаб из моего $WAN
(есть удачная попытка скачать с меня файлы через $WAN на хабе, а я не могу)

неудачи:
невозможно скачать с меня файлы через $INET
невозможно скачать файлы у других на моем хабе через $INET, $WAN
сменил сервер DC++ заработал чат...

Re: Многофункциональный роутер [Как?]

Добавлено: 2009-04-24 6:48:44
itux
Сегодня вечером буду еще пробовать, приму к сведению ссылку :)
Повторюсь конечно, но:

Код: Выделить всё

WAN = eth0 // локалка провайдера 10.17.3.254 (похоже таки сделали статику)
LAN = eth1 // локалка моя 192.168.0.1
INET = pppo // инет через pptp сессию у провайдера, куплена статика... 195......

на роутере/компе : 
22 = SSH сервис
25 = SMTP сервис
80 = WWW сервис
110 = POP3 сервис
143 = IMAP сервис
411 = DC++ PtokaX сервис
1209 = DC++ PtokaX сервис
требе:
[LAN] неограниченный доступ к нету и локалке провайдера...
[WAN] доступ только к роутеру по портам 25,80,110,143,411,1209
[INET] доступ только к роутеру по портам 22,25,80,110,143,411,1209
таки нормально сформулировал, буду думать как реализовать....

вопросы:
пока еще мало знаком с DC++ серверами,но для того что-бы с меня (локалка моя) и меня (роутер) могли скачивать что расшаренно в dc++ клиенте, что еще надо сделать....
и соответственно, что-бы я (локалка моя) и я (роутер) мог скачивать со всех кто в нете... независимо, мой хаб или нет... :)

О как, просьба не слать на ГУГЫЛЬ, или еще куда, а вразумительно ответить если кто знает как сделать...

Re: Многофункциональный роутер [Как?]

Добавлено: 2009-04-24 7:04:57
itux
_andy писал(а):Файрвол пропускает соединения по нужным портам?
p.s: для веба Apache или nginx?
пока Apache, NGINX не асилил... :(

Re: Многофункциональный роутер [Как?]

Добавлено: 2009-04-24 7:19:41
Гость
itux писал(а):

Код: Выделить всё

# Add beeline WAN routing
route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.17.0.1
Это явно не в файрволе задается. Дистр какой?

Re: Многофункциональный роутер [Как?]

Добавлено: 2009-04-24 7:22:57
_Andy
itux писал(а):

Код: Выделить всё

# Masquerade.
iptables -t nat -A POSTROUTING -o $INET -j MASQUERADE
iptables -t nat -A POSTROUTING -o $WAN -j MASQUERADE
Попробуй не маскардить интерфейсы, а сделать SNAT, он меньше проц нагружает.
Либо сделать так:

Код: Выделить всё

iptables -t nat -A POSTROUTING -o !$LAN -j MASQUERADE
Правило понятно?

Re: Многофункциональный роутер [Как?]

Добавлено: 2009-04-24 7:33:51
Гость
itux писал(а):

Код: Выделить всё

# Natting
iptables -t nat -A POSTROUTING -p tcp -j SNAT --to-source 195.46.164.177
iptables -t nat -A POSTROUTING -p tcp -j SNAT --to-source 10.17.3.124
А чуть ниже:
itux писал(а):

Код: Выделить всё

# Masquerade.
iptables -t nat -A POSTROUTING -o $INET -j MASQUERADE
iptables -t nat -A POSTROUTING -o $WAN -j MASQUERADE
[/quote]
Добрый совет, выкинь эти правила, и сядь за написание новых. У тебя файр делает кучу ненужной работы.
Для того что бы все получилось, погляди схему routing decision (как принимается решение о направлении пакета), и раскидай
цепочки по группам, то есть:

Код: Выделить всё

1. PREROUTING
2. INPUT
3. FORWARD
4. OUTPUT
5. POSTROUTING
Не стесняйся навесить комментариев к правилам. Потом легче читать будет.
Еще унифицируй для себя синтаксис написания правил, что бы у тебя опции не "плавали". Тогда сможешь спокойно писать свои правила,
и быстро вспоминать написанное :)

Re: Многофункциональный роутер [Как?]

Добавлено: 2009-04-24 8:49:33
itux

Код: Выделить всё

$!/bin/sh

WAN=eth0 # My local network 192.168.0.x
LAN=eth1 # Local network of my provider 10.x
INET=ppp0 # My internet connection via PPTP tunnel, have adress 195.46.164.177

# Clean iptables
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X

# Block all connect and forwarding by default
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

# Accepting localhost
iptables -A INPUT -i lo -j ACCEPT

# LAN to WAN forwarding
iptables -A FORWARD -i $LAN -o $WAN -j ACCEPT

# LAN to INET forwarding
iptables -A FORWARD -i $LAN -o $INET -j ACCEPT


# Access to router services from
# LAN
iptables -A INPUT -p tcp -m tcp -i $LAN -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp -i $LAN -j ACCEPT
# WAN
iptables -A INPUT -p tcp -m tcp -i $WAN -m multiport --dport 25,80,110,143,411,1209 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp -i $WAN -m multiport --dport 25,80,110,143,411,1209 -j ACCEPT
# INET
iptables -A INPUT -p tcp -m tcp -i $INET -m multiport --dport 22,25,80,110,143,411,1209 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp -i $INET -m multiport --dport 22,25,80,110,143,411,1209 -j ACCEPT

# enable routing
Вот уже начал с ноля, надеюсь иду по правильному пути
Дистр Дебиан Ленни для ПоверПЦ

Re: Многофункциональный роутер [Как?]

Добавлено: 2009-04-24 10:10:01
Гость
itux писал(а):

Код: Выделить всё

$!/bin/sh

WAN=eth0 # My local network 192.168.0.x
LAN=eth1 # Local network of my provider 10.x
INET=ppp0 # My internet connection via PPTP tunnel, have adress 195.46.164.177

# Clean iptables
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
Вот уже начал с ноля, надеюсь иду по правильному пути
Дистр Дебиан Ленни для ПоверПЦ
Дистр увидел уже в первом сообщении. Судя по всему, ты так OSX и не достал.
Может так будет удобнее:

Код: Выделить всё

# Accepting localhost
iptables -A INPUT -i lo -j ACCEPT
# LAN
iptables -A INPUT -p tcp -m tcp -i $LAN -j ACCEPT
# WAN
iptables -A INPUT -p tcp -m tcp -i $WAN -m multiport --dport 25,80,110,143,411,1209 -j ACCEPT
# INET
iptables -A INPUT -p tcp -m tcp -i $INET -m multiport --dport 22,25,80,110,143,411,1209 -j ACCEPT

# LAN to WAN forwarding
iptables -A FORWARD -i $LAN -o $WAN -j ACCEPT

# LAN to INET forwarding
iptables -A FORWARD -i $LAN -o $INET -j ACCEPT


# Access to router services from
# LAN
iptables -A OUTPUT -p tcp -m tcp -i $LAN -j ACCEPT
# WAN
iptables -A OUTPUT -p tcp -m tcp -i $WAN -m multiport --dport 25,80,110,143,411,1209 -j ACCEPT
# INET
iptables -A OUTPUT -p tcp -m tcp -i $INET -m multiport --dport 22,25,80,110,143,411,1209 -j ACCEPT
Идея надеюсь ясна, добавляешь правила в цепочки не последовательно, а так как цепочки идут,
получается что пишешь в начало, потом в середину, затем в конец файла.
shebang начинается с

Код: Выделить всё

#!/bin/sh 
а не с

Код: Выделить всё

$!/bin/sh
описывай свои действия в комментариях, так проще разобраться будет.

Re: Многофункциональный роутер [Как?]

Добавлено: 2009-04-24 11:43:27
itux

Код: Выделить всё

#!/bin/sh

# Переменные
WAN=eth0 # Моя локалка 192.168.0.x
LAN=eth1 # Локалка провайдера 10.x
INET=ppp0 # Интернет через туннель PPTP со статическим внешним адресом 195.46.164.177

# Чистим таблицы
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X

# Устанавливаем правила по умолчанию, СБРОС ДЛЯ ВСЕХ...
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

# INPUT
## разрешаем входящий на lo
iptables -A INPUT -i lo -j ACCEPT
## разрешаем входящий из LAN 
iptables -A INPUT -p tcp -m tcp -i $LAN -j ACCEPT
## разрешаем входящий из WAN
iptables -A INPUT -p tcp -m tcp -i $WAN -m multiport --dport 25,80,110,143,411,1209 -j ACCEPT
## разрешаем входящий из INET
iptables -A INPUT -p tcp -m tcp -i $INET -m multiport --dport 22,25,80,110,143,411,1209 -j ACCEPT

# FORWARD
## перенаправление трафика из LAN в WAN
iptables -A FORWARD -i $LAN -o $WAN -j ACCEPT
## перенаправление трафика из LAN в INET
iptables -A FORWARD -i $LAN -o $INET -j ACCEPT


# OUTPUT
## разрешаем исходящий из LAN
iptables -A OUTPUT -p tcp -m tcp -i $LAN -j ACCEPT
## разрешаем исходящий из WAN
iptables -A OUTPUT -p tcp -m tcp -i $WAN -m multiport --dport 25,80,110,143,411,1209 -j ACCEPT
## разрешаем исходящий из INET
iptables -A OUTPUT -p tcp -m tcp -i $INET -m multiport --dport 22,25,80,110,143,411,1209 -j ACCEPT
сейчас по-лучше ?
А как решить вопрос НАТ или МАСКАРАДИНГ... куда чего, можно пример пожайлуйста

Re: Многофункциональный роутер [Как?]

Добавлено: 2009-04-24 12:36:13
_Andy
Получше или похуже - решать тебе. Ты будешь в дальнейшем писать правила :)

Код: Выделить всё

6.5.6. Действие MASQUERADE

Маскарадинг (MASQUERADE) в основе своей представляет то же самое, что и SNAT только не имеет ключа --to-source. Причиной тому то, что маскарадинг может работать, например, с dialup подключением или DHCP, т.е. в тех случаях, когда IP адрес присваивается устройству динамически. Если у вас имеется динамическое подключение, то нужно использовать маскарадинг, если же у вас статическое IP подключение, то бесспорно лучшим выходом будет использование действия SNAT.

Маскарадинг подразумевает получение IP адреса от заданного сетевого интерфейса, вместо прямого его указания, как это делается с помощью ключа --to-source в действии SNAT. Действие MASQUERADE имеет хорошее свойство - "забывать" соединения при остановке сетевого интерфейса. В случае же SNAT, в этой ситуации, в таблице трассировщика остаются данные о потерянных соединениях, и эти данные могут сохраняться до суток, поглощая ценную память. Эффект "забывчивости" связан с тем, что при остановке сетевого интерфейса с динамическим IP адресом, есть вероятность на следующем запуске получить другой IP адрес, но в этом случае любые соединения все равно будут потеряны, и было бы глупо хранить трассировочную информацию.

Как вы уже поняли, действие MASQUERADE может быть использовано вместо SNAT, даже если вы имеете постоянный IP адрес, однако, невзирая на положительные черты, маскарадинг не следует считать предпочтительным в этом случае, поскольку он дает большую нагрузку на систему.

Действие MASQUERADE допускается указывать только в цепочке POSTROUTING таблицы nat, так же как и действие SNAT. MASQUERADE имеет ключ, описываемый ниже, использование которого необязательно.

Таблица 6-19. Действие MASQUERADE
Ключ 	--to-ports
Пример 	iptables -t nat -A POSTROUTING -p TCP -j MASQUERADE --to-ports 1024-31000
Описание 	Ключ --to-ports используется для указания порта источника или диапазона портов исходящего пакета. Можно указать один порт, например: --to-ports 1025, или диапазон портов как здесь: --to-ports 1024-3000. Этот ключ можно использовать только в правилах, где критерий содержит явное указание на протокол TCP или UDP с помощью ключа --protocol.
Ты доку по iptables почитай, там много полезного написано.

Re: Многофункциональный роутер [Как?]

Добавлено: 2009-04-24 15:29:35
itux

Код: Выделить всё

#!/bin/sh

# Переменные
WAN=eth0 # Моя локалка 192.168.0.x
LAN=eth1 # Локалка провайдера 10.x
INET=ppp0 # Интернет через туннель PPTP со статическим внешним адресом 195.46.164.177

# Чистим таблицы
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X

# Устанавливаем правила по умолчанию, СБРОС ДЛЯ ВСЕХ...
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

# INPUT
## разрешаем входящий на lo
iptables -A INPUT -i lo -j ACCEPT
## разрешаем входящий из LAN 
iptables -A INPUT -p tcp -m tcp -i $LAN -j ACCEPT
## разрешаем входящий из WAN
iptables -A INPUT -p tcp -m tcp -i $WAN -m multiport --dports 25,80,110,143,411,1209 -j ACCEPT
## разрешаем входящий из INET
iptables -A INPUT -p tcp -m tcp -i $INET -m multiport --dports 22,25,80,110,143,411,1209 -j ACCEPT
## разрешаем доступ к роутеру уже установленным соединениям
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT


# FORWARD
## перенаправление трафика из LAN в WAN
iptables -A FORWARD -i $LAN -o $WAN -j ACCEPT
## перенаправление трафика из LAN в INET
iptables -A FORWARD -i $LAN -o $INET -j ACCEPT
## перенаправление трафика из сети INET в LAN только установленным соединениям
iptables -A FORWARD -i $INET -o $LAN -m state --state ESTABLISHED,RELATED -j ACCEPT
## перенаправление трафика из сети WAN в LAN только установленным соединениям
iptables -A FORWARD -i $WAN -o $LAN -m state --state ESTABLISHED,RELATED -j ACCEPT

# Преобразование адресов локальной сети
iptables -t nat -A POSTROUTING -o !$LAN -j MASQUERADE

# Разрешаем роутинг
echo 1 > /proc/sys/net/ipv4/ip_forward
Почти доделал, теперь надо сделать проброс портов для того что-бы я мог качать с п2п и торрентов, ну и что-бы качали с моего п2п
:st:

и еще проблема, когда выполняешь файлик, валится ppp0 туннель
из-за...

Код: Выделить всё

iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
как этого можно избежать