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


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Шлюз на базе Ubuntu Server 9.10  (Прочитано 2689 раз)

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

Оффлайн DenisShiln

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Шлюз на базе Ubuntu Server 9.10
« : 30 Декабрь 2009, 21:03:22 »
Сразу прошу не ругать с линуксом пока знакомлюсь...

есть два сетевых интерфейса:
eth0 - смотрит в локальную сеть (192.168.0.х)
eth1 - смотрит в локальную сеть провайдера(IP по DHCP)

для доступа в инет поднимается соединение VPN - ppp0

Собственно вопрос:
доступ к ресурсам провайдера таким как:
1. Форум
2. Ослик(пиринговая сеть)
3. IPTv
осуществляется через интерфейс eth1

правила iptables настроены таким образом:
#!/bin/sh

# Включаем форвардинг пакетов
echo 1 > /proc/sys/net/ipv4/ip_forward

# Разрешаем трафик на loopback-интерфейсе
iptables -A INPUT -i lo -j ACCEPT

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

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

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

инет на машинах локалки заработал
какие правила надо написать что-бы работали внутренние ресурсы

Оффлайн Mam(O)n

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Шлюз на базе Ubuntu Server 9.10
« Ответ #1 : 30 Декабрь 2009, 21:52:30 »
Непонятно, но похоже у тебя подсети пересекаются. Для полноты картины выдай нам:
ifconfig -a
sudo iptables-save
route -n

Оффлайн DenisShiln

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Шлюз на базе Ubuntu Server 9.10
« Ответ #2 : 30 Декабрь 2009, 22:10:46 »
ifconfig -a
root@HomeServer:~# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:17:9a:37:f7:7a
          inet addr:192.168.0.1  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::217:9aff:fe37:f77a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5880 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2532 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:506835 (506.8 KB)  TX bytes:329498 (329.4 KB)
          Interrupt:16 Base address:0x4000

eth1      Link encap:Ethernet  HWaddr 00:04:61:a7:f2:a2
          inet addr:10.57.156.156  Bcast:10.57.159.255  Mask:255.255.252.0
          inet6 addr: fe80::204:61ff:fea7:f2a2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8938 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6148 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:778574 (778.5 KB)  TX bytes:663644 (663.6 KB)
          Interrupt:23 Base address:0xc000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

ppp0      Link encap:Point-to-Point Protocol
          inet addr:80.255.88.60  P-t-P:10.100.222.46  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:2416 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5232 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:235712 (235.7 KB)  TX bytes:367236 (367.2 KB)

sudo iptables-save
root@HomeServer:~# sudo iptables-save
# Generated by iptables-save v1.4.4 on Thu Dec 31 00:08:31 2009
*nat
:PREROUTING ACCEPT [4055:249899]
:POSTROUTING ACCEPT [127:6940]
:OUTPUT ACCEPT [31:1922]
-A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE
COMMIT
# Completed on Thu Dec 31 00:08:31 2009
# Generated by iptables-save v1.4.4 on Thu Dec 31 00:08:31 2009
*filter
:INPUT ACCEPT [14478:1005778]
:FORWARD ACCEPT [3802:457103]
:OUTPUT ACCEPT [11413:1239109]
-A INPUT -i lo -j ACCEPT
-A FORWARD -s 192.168.0.2/32 -d 78.29.3.46/32 -i eth1 -j ACCEPT
-A FORWARD -i eth0 -o ppp0 -j ACCEPT
-A FORWARD -i ppp0 -o ppp0 -j REJECT --reject-with icmp-port-unreachable
COMMIT
# Completed on Thu Dec 31 00:08:31 2009
route -n
root@HomeServer:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.100.222.46   0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
78.29.3.46      10.57.156.1     255.255.255.255 UGH   0      0        0 eth1
95.129.163.56   10.57.156.1     255.255.255.248 UG    0      0        0 eth1
10.100.12.0     10.57.156.1     255.255.255.0   UG    0      0        0 eth1
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
78.29.0.0       10.57.156.1     255.255.254.0   UG    0      0        0 eth1
10.57.156.0     0.0.0.0         255.255.252.0   U     0      0        0 eth1
10.128.0.0      10.57.156.1     255.248.0.0     UG    0      0        0 eth1
10.48.0.0       10.57.156.1     255.240.0.0     UG    0      0        0 eth1
0.0.0.0         10.100.222.46   0.0.0.0         UG    0      0        0 ppp0

Оффлайн Mam(O)n

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Шлюз на базе Ubuntu Server 9.10
« Ответ #3 : 30 Декабрь 2009, 22:38:12 »
Млин, я не туда посмотрел. Ну ладно.

iptables конечно криво настроен, да и не хватает маскардинга на eth1. Я бы посоветовал так делать:

iptables -t nat -F
iptables -t nat -X
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
iptables -F
iptables -X
iptables -P FORWARD DROP
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate NEW -i eth0 -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate DNAT -j ACCEPT

Еще не помешает маршрут для мультикаста: ip route add 224.0.0.0/4 dev eth1

Оффлайн DenisShiln

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Шлюз на базе Ubuntu Server 9.10
« Ответ #4 : 30 Декабрь 2009, 22:45:32 »
Это просто надо добавить к текущим правилам, или заменить?

Оффлайн Mam(O)n

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Шлюз на базе Ubuntu Server 9.10
« Ответ #5 : 30 Декабрь 2009, 22:59:41 »
Заменить.

Оффлайн DenisShiln

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Шлюз на базе Ubuntu Server 9.10
« Ответ #6 : 30 Декабрь 2009, 23:14:30 »
сделал... инет пропал на машинах локалки.... вернул пока обратно...
и попутный вопрос если я подключаюсь через putty почему mc выглядит не адекватно(видимо кодеровка)

Оффлайн Mam(O)n

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Шлюз на базе Ubuntu Server 9.10
« Ответ #7 : 30 Декабрь 2009, 23:18:41 »
echo 1 > /proc/sys/net/ipv4/ip_forward не стирал? Это к iptables не относится.

Оффлайн DenisShiln

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Шлюз на базе Ubuntu Server 9.10
« Ответ #8 : 30 Декабрь 2009, 23:28:26 »
по дурости стер...

форум заработал...
Ослик пишет
1.12.2009 1:27:11: Предупреждение emule.is74.ru (emule.is74.ru:4661) - Your 4662 port is not reachable. Please review your network config.
31.12.2009 1:27:11: Невозможно установить входящее соединение! Пожалуйста, проверьте настройки вашего антивируса или брандмауэра.
31.12.2009 1:27:11: Не удалось соединиться ни с одним сервером из списка. Новая попытка соединиться.
31.12.2009 1:27:11: Автосоединение с сервером через 30 секунд

IPTv не работает... но не могу проверить работает ли оно вааще (иногда отключают)
и роутер D-Link DES-2108 вааще пропускает броадкаст?
« Последнее редактирование: 30 Декабрь 2009, 23:31:18 от DenisShiln »

Оффлайн Mam(O)n

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Шлюз на базе Ubuntu Server 9.10
« Ответ #9 : 30 Декабрь 2009, 23:32:57 »
Естественно, ведь за нат'ом же. Нужно пробрасывать траффик по определённому порту внутрь сети на определённый хост. Правило такое:

Цитировать
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport порт -j DNAT --to куда_нужно_пробрасывать_трафик_по_этому_порту

Пользователь решил продолжить мысль 30 Декабрь 2009, 21:35:27:

IPTv не работает... но не могу проверить работает ли оно вааще (иногда отключают)
и роутер D-Link DES-2108 вааще пропускает броадкаст?

DES 2108 вобще то не роутер. Это свитч.

Маршрут для мультикаста прописал?

Пользователь решил продолжить мысль 30 Декабрь 2009, 23:39:55:
Ах, ну конечно же. С IGMP за натом не так всё просто. https://forum.ubuntu.ru/index.php?topic=17459.0
« Последнее редактирование: 30 Декабрь 2009, 23:39:55 от Mam(O)n »

Оффлайн DenisShiln

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Шлюз на базе Ubuntu Server 9.10
« Ответ #10 : 30 Декабрь 2009, 23:45:07 »
Да прописал.
Сорри... конечно свич...
Но это не главное
Ослику я так понимаю нужен порт 4662 как его пробросить

Оффлайн Mam(O)n

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Шлюз на базе Ubuntu Server 9.10
« Ответ #11 : 30 Декабрь 2009, 23:47:20 »
Я выше правило уже привёл

Оффлайн DenisShiln

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Шлюз на базе Ubuntu Server 9.10
« Ответ #12 : 30 Декабрь 2009, 23:54:53 »
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport порт -j DNAT --to куда_нужно_пробрасывать_трафик_по_этому_порту

я так понимаю тут надо ppp0 заменить на eth1

Оффлайн Mam(O)n

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Шлюз на базе Ubuntu Server 9.10
« Ответ #13 : 31 Декабрь 2009, 00:00:36 »
Если не из интернета, а с локалки коннекты, тогда да.

Оффлайн DenisShiln

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Шлюз на базе Ubuntu Server 9.10
« Ответ #14 : 31 Декабрь 2009, 00:08:11 »
попутный вопрос если я подключаюсь через putty почему mc выглядит не адекватно(видимо кодеровка)

не удобно каждый раз переключатся на комп с серваком

 

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