Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Маршрутизация между интерфейсами  (Прочитано 3608 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн aasavelev

  • Автор темы
  • Новичок
  • *
  • Сообщений: 31
    • Просмотр профиля
Маршрутизация между интерфейсами
« : 27 Октября 2015, 13:56:17 »
Здравствуйте. Не могу разобраться с маршрутизацией.
Имеется два интерфейса для выхода во внешнюю сеть и один который смотрит в локальную сеть.
Интерфейс eth0(смотрит в одну из внешних сетей) имеет параметры
ip-адрес:192.168.70.5
Маска:255.255.255.0
Интерфейс eth2(смотрит в интернет) имеет параметры
ip-адрес:192.168.60.5
Маска:255.255.255.0
шлюз:192.168.60.1
Интерфейс eth1(локальная сеть) имеет параметры
ip-адрес:192.168.0.1
Маска:255.255.255.0.
Для настройки интернета создаю файл с содержимым:
#!/bin/sh
#Включаем форвардинг пакетов
echo 1 > /proc/sys/net/ipv4/ip_forward
#РАзрешаем траффик на lo
iptables -A INPUT -i lo -j ACCEPT

#Разрешаем доступ из внутренней сети наружу
iptables -A FORWARD -i eth1 -o eth2 -j ACCEPT

#Включаем NAT
iptables -t nat -A POSTROUTING -o et2h2 -s 192.168.0.0/24 -j MASQUERADE

#Разрешаем ответы из внешней сети
iptables -A FORWARD -i eth2 -m state --state ESTABLISHED,RELATED -j ACCEPT

#Запрещаем доступ снаружи во внутреннюю сеть
iptables -A FORWARD -i eth2 -o eth1 -j REJECT

#Настройки для доступа к сети KIR
#Включаем NAT
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE

#Разрешаем доступ из внутренней сети наружу
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

#Разрешаем ответы из внешней сети
iptables -A FORWARD -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
Интернет в локальной сети появляется.
Теперь мне необходимо сделать чтоб если необходимо попасть на адрес, например 20.20.20.20, я шел через интерфейс eth0 и ip-адрес 192.168.70.3.(в 70 подсетки все настроено там он дальше уходит куда надо).
ТАк вот прописываю команду:
route add -net 20.20.20.0 netmask 255.255.255.0 gw 192.168.70.3 eth0 результат не пингуется 20.20.20.20.2.
Подскажите что я делаю не так? Спасибо.

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13758
    • Просмотр профиля
Re: Маршрутизация между интерфейсами
« Ответ #1 : 27 Октября 2015, 14:29:21 »
Подскажите что я делаю не так?
не доводите дело до конца

192.168.70.3 умеет форвардить? Как он это делает? НАТит или просто пропускает? Если просто пропускает, 20.20.20.20 знает, где находится 192.168.70.5?

Оффлайн aasavelev

  • Автор темы
  • Новичок
  • *
  • Сообщений: 31
    • Просмотр профиля
Re: Маршрутизация между интерфейсами
« Ответ #2 : 28 Октября 2015, 07:39:47 »
Натит.

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13758
    • Просмотр профиля
Re: Маршрутизация между интерфейсами
« Ответ #3 : 28 Октября 2015, 07:46:45 »
ip a; ip r
tracepath 20.20.20.20

Оффлайн aasavelev

  • Автор темы
  • Новичок
  • *
  • Сообщений: 31
    • Просмотр профиля
Re: Маршрутизация между интерфейсами
« Ответ #4 : 30 Октября 2015, 12:31:32 »
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:19:66:ed:43:13 brd ff:ff:ff:ff:ff:ff
    inet 192.168.70.5/24 brd 192.168.92.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::219:66ff:feed:4313/64 scope link
       valid_lft forever preferred_lft forever
3: eth2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether 00:50:22:8d:87:45 brd ff:ff:ff:ff:ff:ff
4: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether 00:50:04:48:d9:e3 brd ff:ff:ff:ff:ff:ff
20.20.20.0/24 via 192.168.70.3 dev eth0
20.20.20.0/24 via 192.168.70.3 dev eth0  proto static
192.168.70.0/24 dev eth0  proto kernel  scope link  src 192.168.70.5  metric 1

tracepath:
192.168.70.3                                        0.555ms
 1:  192.168.70.3 0.649ms
 2:  no reply
 3:  no reply
 4:  no reply
Доходит до 192.168.70.3.
Видимо он где-то подрубает.

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13758
    • Просмотр профиля
Re: Маршрутизация между интерфейсами
« Ответ #5 : 30 Октября 2015, 16:27:56 »
а Вы пингете с обсуждаемой машины? Если так, то проблема однозначно в 192.168.70.3

Оффлайн aasavelev

  • Автор темы
  • Новичок
  • *
  • Сообщений: 31
    • Просмотр профиля
Re: Маршрутизация между интерфейсами
« Ответ #6 : 03 Ноября 2015, 07:00:38 »
Вот что я сегодня обнаружил. Что если я отключаю сеть 192.168.0.1(например сетевой провод выдернул из компьютера). то пинги идут на 20.20.20.20. Но как только я включаю сеть 192.168.0.1, то пропадает связь.

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:19:66:ed:43:13 brd ff:ff:ff:ff:ff:ff
    inet  192.168.70.5/24 brd 192.168.70.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::219:66ff:feed:4313/64 scope link
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
    link/ether 00:50:04:48:d9:e3 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.1/24 brd 192.168.0.255 scope global eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::250:4ff:fe48:d9e3/64 scope link
       valid_lft forever preferred_lft forever
4: eth2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether 00:50:22:8d:87:45 brd ff:ff:ff:ff:ff:ff
20.20.20.0/24 via 192.168.70.3 dev eth0
20.20.20.0/24 via 192.168.70.3 dev eth0  proto static
20.20.20.0/24 via 192.168.70.3 dev eth1  proto static
192.168.0.0/24 dev eth1  proto kernel  scope link  src 192.168.0.1  metric 1
192.168.70.0/24 dev eth0  proto kernel  scope link  src 192.168.70.5  metric 1
192.168.70.3 dev eth1  proto static  scope link
tracepath 20.20.20.20
1?: [LOCALHOST]                                         pmtu 1500
 1:  no reply
 2:  no reply
 3:  no reply
 4:  no reply


Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13758
    • Просмотр профиля
Re: Маршрутизация между интерфейсами
« Ответ #7 : 03 Ноября 2015, 08:26:53 »
оно и понятно
Цитировать
20.20.20.0/24 via 192.168.70.3 dev eth0
20.20.20.0/24 via 192.168.70.3 dev eth0  proto static
20.20.20.0/24 via 192.168.70.3 dev eth1  proto static
налепили маршрутов, вот и получили

Оффлайн aasavelev

  • Автор темы
  • Новичок
  • *
  • Сообщений: 31
    • Просмотр профиля
Re: Маршрутизация между интерфейсами
« Ответ #8 : 03 Ноября 2015, 10:31:15 »
Спасибо большое. В одном из файлов в папке /etc/NetworkManager/system-connections был прописан маршрут. Его удалил и все стало нормально.

 

Страница сгенерирована за 0.037 секунд. Запросов: 26.