Здравствуйте, помогите кто чем может, пожалуйста.
Вопрос думаю не сложный.Имеется небольшая сеть (1) 192.168.1.0 с выходом в интернет через линуксовский шлюз.
Шлюз (1) в сети eth0 192.168.1.4 Fedora13.
Внешний ip eth1 100.100.100.100
Gateway 100.100.100.101
Все работает, интернет у пользователей есть.Необходимо организовать компьютерный класс с сетью (2), например, 192.168.2.0 с выходом в интернет через сеть (1).
------------------------------
- Fedora13 (1) -
- eth1 100.100.100.100 (ext) -
- eth0 192.168.1.4 (int) -
------------------------------
-
-
-----------------------
- Сеть 192.168.1.0 -
-----------------------
-
----------------------------
- Fedora13 (2) -
- eth1 192.168.1.180 (ext) -
- eth0 192.168.2.4 (int) -
----------------------------
-
-
-----------------------
- Сеть 192.168.2.0 -
-----------------------
Заводим еще один сервер (2) Fedora13.
IP шлюза eth0 (внешний, из первой сети) (2) 192.168.1.180
Ip сетевой карты eth1 внутренней сети (класса) 192.168.2.4
В качестве Gateway указываем уже первый шлюз (?) 192.168.1.4
Включаем пересылку пакетов, nat, маскарадинг.На машине внутри этой новой сети (например, 192.168.2.10) делаем пинг:
ping 192.168.2.4 ---- OK (сетевая карта Fedora13(2) "внутрь" сети 192.168.2.0)
ping 192.168.1.180 ---- OK (сетевая карта Fedora13(2) "наружу" в сеть 192.168.1.0)
ping 192.168.1.4 ---- превышен интервал ожидания.То есть сеть 192.168.2.0 не видит 192.168.1.0
На шлюзе (2)
> routeKernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 1 0 0 eth0
192.168.2.0 * 255.255.255.0 U 1 0 0 eth1
default 192.168.1.4 0.0.0.0 UG 0 0 0 eth0Подозреваю что дело в маршрутизации.
Что можно сделать, чтобы сеть 192.168.2.0 видела сеть 192.168.1.0?
на первом шлюзе (192.168.1.4)
ip ro add 192.168.2.0/24 via 192.168.1.180
и на шлюзах включите форвард для обоих сетей и отключите нат для этих сетей друг в друга.
> на первом шлюзе (192.168.1.4)
> ip ro add 192.168.2.0/24 via 192.168.1.180
> и на шлюзах включите форвард для обоих сетей и отключите нат для
> этих сетей друг в друга.О спасибо!!!
Вот это то что надо было. Я почему-то думал что маршутизацию на первом шлюзе не надо было править.
>> на первом шлюзе (192.168.1.4)
>> ip ro add 192.168.2.0/24 via 192.168.1.180
>> и на шлюзах включите форвард для обоих сетей и отключите нат для
>> этих сетей друг в друга.
> О спасибо!!!
> Вот это то что надо было. Я почему-то думал что маршутизацию на
> первом шлюзе не надо было править.Если на втором шлюзе использовался НАТ- то маршрутизацию трогать на первом шлюзе не надо.
Поскольку первый шлюз ничего не знает, и никогда не узнает о существовании сети 192.168.2.0/24.
> Заводим еще один сервер (2) Fedora13.
> IP шлюза eth0 (внешний, из первой сети) (2) 192.168.1.180
> Ip сетевой карты eth1 внутренней сети (класса) 192.168.2.4
> В качестве Gateway указываем уже первый шлюз (?) 192.168.1.4
> Включаем пересылку пакетов, nat, маскарадинг.Зачем? Достаточно было б добавить сетевую в первый шлюз и немного дописать правила фаервола
> На машине внутри этой новой сети (например, 192.168.2.10) делаем пинг:
> ping 192.168.2.4 ---- OK (сетевая карта Fedora13(2) "внутрь" сети 192.168.2.0)
> ping 192.168.1.180 ---- OK (сетевая карта Fedora13(2) "наружу" в сеть 192.168.1.0)
> ping 192.168.1.4 ---- превышен интервал ожидания.
> Подозреваю что дело в маршрутизации.
> Что можно сделать, чтобы сеть 192.168.2.0 видела сеть 192.168.1.0?А как у вас настроен нат на втором шлюзе? пришлите правила фаервола со второго шлюза
> Зачем? Достаточно было б добавить сетевую в первый шлюз и немного дописать
> правила фаерволаПотому что первый шлюз не надо трогать. Пользователи должны "ставить эксперименты" на втором шлюзе.
> А как у вас настроен нат на втором шлюзе? пришлите правила фаервола
> со второго шлюзаПравила iptables второго шлюза.
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*nat
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o eth1 -j MASQUERADE
COMMIT
*filter
:FORWARD ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth1 -j ACCEPT
-A INPUT -p tcp -m state -m tcp --dport 10000 --state NEW -j ACCEPT
-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -p icmp -j ACCEPT
-A FORWARD -i lo -j ACCEPT
-A FORWARD -i eth1 -j ACCEPT
-A FORWARD -o eth1 -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
-A OUTPUT -p icmp -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A OUTPUT -o eth1 -j ACCEPT
COMMIT
# Generated by webmin
*mangle
:FORWARD ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
# Completed
Содержимое sysctl.confkernel.sysrq=0
net.ipv4.ip_forward=1
net.ipv4.conf.default.accept_source_route=0
net.ipv4.conf.default.rp_filter=1
kernel.core_uses_pid=1
> Заводим еще один сервер (2) Fedora13.
> IP шлюза eth0 (внешний, из первой сети) (2) 192.168.1.180
> Ip сетевой карты eth1 внутренней сети (класса) 192.168.2.4
> В качестве Gateway указываем уже первый шлюз (?) 192.168.1.4
> Включаем пересылку пакетов, nat, маскарадинг.
> На машине внутри этой новой сети (например, 192.168.2.10) делаем пинг:
> ping 192.168.2.4 ---- OK (сетевая карта Fedora13(2) "внутрь" сети 192.168.2.0)
> ping 192.168.1.180 ---- OK (сетевая карта Fedora13(2) "наружу" в сеть 192.168.1.0)
> ping 192.168.1.4 ---- превышен интервал ожидания.пересылка пакетов не работает. Вы ее все таки не включили.
И маршрутизация тут не-при-чем :)