Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по Linux (http://forum.oszone.net/forumdisplay.php?f=9)
-   -   Маршрутизация: Бэн, ай нид хелп (http://forum.oszone.net/showthread.php?t=103088)

Spooner 18-03-2008 12:43 762854

Маршрутизация: Бэн, ай нид хелп
 
Линукс знаю скудными отрывками, посему прошу помощи.
Ситуация такова. Есть два интерфейса:
- первый 192.168.1.2 через 192.168.1.1 идёт в Интернет. Здесь проблем нет.
- нулевой 10.103.12.236 255.255.255.0 идёт в локалку. И ходит, но только по 10.103.12.0. А должен через гейт 10.103.12.2 ходить в 10.0.0.0. Ходить там начинает только после того как вручную скажешь route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.103.12.2 - при загрузке не хочет, как его указать "навсегда"? :)
Так же есть pptpd. Когда подключаюсь к нему, получаю IP 192.168.1.5, адрес сервера 192.168.1.2. Но в Интернет не пускает.
Суть повроса:
- как заставить машину не забывать маршрут -net 10.0.0.0 netmask 255.0.0.0 gw 10.103.12.2 после перезагрузки?
- как прокинуть VPN-клиентов, идущих через 10.103.12.236 до 192.168.1.2 - в Интернет?


Исходные данные:


/etc/network/interfaces
Код:

auto lo eth0 eth1
iface lo inet loopback
        allow-hotplug eth1
        allow-hotplug eth0

# The primary network interface
iface eth1 inet static
        address 192.168.1.2
        netmask 255.255.255.0
        broadcast 192.168.1.255
        network 192.168.1.0
        gateway 192.168.1.1
        up ip route add 0.0.0.0/0 via 192.168.1.1
        # dns-* options are implemented by the resolvconf package, if installed

iface eth0 inet static
        address 10.103.12.236
        netmask 255.255.255.0
        broadcast 10.103.12.255
        network 10.103.12.0
        up ip route add 10.0.0.0/8 via 10.103.12.2

post-up iptables-restore < /etc/iptables.up.rules

route (девственный, после перезагрузки)
Код:

Destination    Gateway        Genmask        Flags Metric Ref    Use Iface
localnet        *              255.255.255.0  U    0      0        0 eth1
10.103.12.0    *              255.255.255.0  U    0      0        0 eth0
default        mygateway1.ar7  0.0.0.0        UG    0      0        0 eth1

/etc/iptables.up.rules
Код:

# Generated by iptables-save v1.3.6 on Tue Mar 18 14:20:57 2008
*nat
:PREROUTING ACCEPT [92:7658]
:POSTROUTING ACCEPT [4:240]
:OUTPUT ACCEPT [4:240]
COMMIT
# Completed on Tue Mar 18 14:20:57 2008
# Generated by iptables-save v1.3.6 on Tue Mar 18 14:20:57 2008
*mangle
:FORWARD ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
# Completed on Tue Mar 18 14:20:57 2008
# Generated by iptables-save v1.3.6 on Tue Mar 18 14:20:57 2008
*filter
:FORWARD ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i eth1 -j LOG  --log-prefix "BANDWIDTH_IN:" --log-level 7
-A FORWARD -o eth1 -j LOG  --log-prefix "BANDWIDTH_OUT:" --log-level 7
-A FORWARD -i eth1 -j LOG  --log-prefix "BANDWIDTH_IN:" --log-level 7
-A OUTPUT -o eth1 -j LOG  --log-prefix "BANDWIDTH_OUT:" --log-level 7
# VPN -> Internet
-A FORWARD -s 192.168.1.0/24 -d 0.0.0.0 -j ACCEPT

COMMIT
# Completed on Tue Mar 18 14:20:57 2008


exo 18-03-2008 13:44 762896

Цитата:

Цитата Spooner
- как заставить машину не забывать маршрут -net 10.0.0.0 netmask 255.0.0.0 gw 10.103.12.2 после перезагрузки »

можно скрипт написать и поместить его в автозагрузку. Никак не могу вспомнить где это... :(

Spooner 18-03-2008 15:16 762951

С первым пунктом решено ...
А вот как быть с тем, как прокинуть VPN-клиентов, идущих через 10.103.12.236 до 192.168.1.2 в Интернет - пока вопрос ...
Кто-нибудь, поправьте пожалуйста этот детский лепет -A FORWARD -s 192.168.1.0/24 -d 0.0.0.0 -j ACCEPT :)

fossil 18-03-2008 18:28 763127

Код:

$IPTABLES -t nat -A POSTROUTING -o ppp+ -j SNAT --to-source 192.168.1.2
Ключ --to-source используется для указания адреса, присваемового пакету. Все просто, вы указываете IP адрес, который будет подставлен в заголовок пакета в качестве исходящего. Если вы собираетесь перераспределять нагрузку между несколькими брандмауэрами, то можно указать диапазон адресов, где начальный и конечный адреса диапазона разделяются дефисом, например: 194.236.50.155-194.236.50.160. Тогда, конкретный IP адрес будет выбираться из диапазона случайным образом для каждого нового потока. Дополнительно можно указать диапазон портов, которые будут использоваться только для нужд SNAT. Все исходящие порты будут после этого перекартироваться в заданный диапазон. iptables старается, по-возможности, избегать перекартирования портов, однако не всегда это возможно, и тогда производится перекартирование . Если диапазон портов не задан, то исходные порты ниже 512 перекартируются в диапазоне 0-511, порты в диапазоне 512-1023 перекартируются в диапазоне 512-1023, и, наконец порты из диапазона 1024-65535 перекартируются в диапазоне 1024-65535. Что касается портов назначения, то они не подвергаются перекартированию.

Цитата:

Цитата Spooner
Кто-нибудь, поправьте пожалуйста этот детский лепет -A FORWARD -s 192.168.1.0/24 -d 0.0.0.0 -j ACCEPT »

А цепочка FORWARD у вас по-дефолту ACCEPT. Да и хочу посоветовать, используйте все дефолтные правила как DROP.
Вот полезная ссылочка: http://www.opennet.ru/docs/RUS/iptables


Время: 05:03.

Время: 05:03.
© OSzone.net 2001-