PDA

Показать полную графическую версию : Маршрутизация: Бэн, ай нид хелп


Spooner
18-03-2008, 12:43
Линукс знаю скудными отрывками, посему прошу помощи.
Ситуация такова. Есть два интерфейса:
- первый 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
- как заставить машину не забывать маршрут -net 10.0.0.0 netmask 255.0.0.0 gw 10.103.12.2 после перезагрузки »
можно скрипт написать и поместить его в автозагрузку. Никак не могу вспомнить где это... :(

Spooner
18-03-2008, 15:16
С первым пунктом решено ...
А вот как быть с тем, как прокинуть 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
$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. Что касается портов назначения, то они не подвергаются перекартированию.

Кто-нибудь, поправьте пожалуйста этот детский лепет -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




© OSzone.net 2001-2012