Автор Тема: підключення мостом  (Прочитано 13882 раз)

Offline sdwvit

  • Newbie
  • *
  • Повідомлень: 12
  • Karma: 0
підключення мостом
« : 2009-11-04, 14:09:42 »
стоїть 2 компьютери
на одному 1 мережева плата(А)/ на іншому 2(Б)
до (Б) підімкнутий інтернет (підключення eth1)
як зробити підключення типу міст між (А) і (Б) (якщо конкретніше: що треба прписати в /etc/network/interfaces?) ?

Offline a.bukhansky

  • Full Member
  • ***
  • Повідомлень: 133
  • Karma: 4
Re: підключення мостом
« Reply #1 : 2009-11-04, 16:20:09 »
Тут може не міст повинен бути, а маскарадинг?

Offline swift

  • Administrator
  • Hero Member
  • *****
  • Повідомлень: 549
  • Karma: 7
Re: підключення мостом
« Reply #2 : 2009-11-04, 22:54:45 »

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/24 -j MASQUERADE
/dev/null > /dev/snd

Offline sdwvit

  • Newbie
  • *
  • Повідомлень: 12
  • Karma: 0
Re: підключення мостом
« Reply #3 : 2009-11-05, 09:08:20 »
може й маскарадинг (різниці не розумію)
у м"якотілих все це робиться за 20 секунд..

Offline sdwvit

  • Newbie
  • *
  • Повідомлень: 12
  • Karma: 0
Re: підключення мостом
« Reply #4 : 2009-11-05, 10:29:59 »
я туплю
echo 1 > /proc/sys/net/ipv4/ip_forward  - немає такого файлу

Offline swift

  • Administrator
  • Hero Member
  • *****
  • Повідомлень: 549
  • Karma: 7
Re: підключення мостом
« Reply #5 : 2009-11-05, 10:36:39 »
sudo echo 1 > /proc/sys/net/ipv4/ip_forward
/dev/null > /dev/snd

Offline sdwvit

  • Newbie
  • *
  • Повідомлень: 12
  • Karma: 0
Re: підключення мостом
« Reply #6 : 2009-11-05, 10:39:39 »
тобте є, але пустий
----
зю убив інет
« Останнє редагування: 2009-11-05, 10:46:32 від sdwvit »

Offline sdwvit

  • Newbie
  • *
  • Повідомлень: 12
  • Karma: 0
Re: підключення мостом
« Reply #7 : 2009-11-05, 11:05:37 »
хмм почитав про маскарадинг.. так у мене статичний зовнішній айпі, якщо це має значення

Offline sdwvit

  • Newbie
  • *
  • Повідомлень: 12
  • Karma: 0
Re: підключення мостом
« Reply #8 : 2009-11-05, 11:59:02 »
bash: /proc/sys/net/ipv4/ip_forward: permission denied
через sudo

Offline swift

  • Administrator
  • Hero Member
  • *****
  • Повідомлень: 549
  • Karma: 7
Re: підключення мостом
« Reply #9 : 2009-11-05, 17:09:52 »
sudo cat /proc/sys/net/ipv4/ip_forward
/dev/null > /dev/snd

Offline a.bukhansky

  • Full Member
  • ***
  • Повідомлень: 133
  • Karma: 4
Re: підключення мостом
« Reply #10 : 2009-11-05, 18:50:06 »
gksudo gedit
Запуститься текстовий редактор. Там знайти:
# Uncomment the next line to enable packet forwarding for IPv4
#net.ipv4.ip_forward=1

і забрати значок "#" перед net.ipv4.ip_forward=1
Тобто привести до вигляду:
# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1
Після перезавантаження маршрутизація в ядрі буде автоматично вмикатись.
А що стосується iptables, то можна уже різними варіантами правила прописувати. Можу роз’яснити як налаштувати за допомогою shorewall. Я завжди ним користуюсь. Можна і ufw покрутити. Там також усе просто, і ніби як стандартний фаєрвол для убунту.

Offline a.bukhansky

  • Full Member
  • ***
  • Повідомлень: 133
  • Karma: 4
Re: підключення мостом
« Reply #11 : 2009-11-05, 21:32:50 »
Прошу пробачення, не дописав команду. Треба  gksudo gedit /etc/sysctl.conf

Offline sdwvit

  • Newbie
  • *
  • Повідомлень: 12
  • Karma: 0
Re: підключення мостом
« Reply #12 : 2009-11-05, 22:24:31 »
дяки.. зранку спробую

Offline sdwvit

  • Newbie
  • *
  • Повідомлень: 12
  • Karma: 0
Re: підключення мостом
« Reply #13 : 2009-11-06, 10:30:54 »
2swift
0 видало... кажу, що пусто

Offline sdwvit

  • Newbie
  • *
  • Повідомлень: 12
  • Karma: 0
Re: підключення мостом
« Reply #14 : 2009-11-06, 10:34:24 »
після цьої команди полетів інет : iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/24 -j MASQUERADE
як відмінити її?

Offline swift

  • Administrator
  • Hero Member
  • *****
  • Повідомлень: 549
  • Karma: 7
Re: підключення мостом
« Reply #15 : 2009-11-06, 19:18:36 »
iptables -t nat -D POSTROUTING -o eth1 -s 192.168.0.0/24 -j MASQUERADE
/dev/null > /dev/snd

Offline a.bukhansky

  • Full Member
  • ***
  • Повідомлень: 133
  • Karma: 4
Re: підключення мостом
« Reply #16 : 2009-11-06, 19:56:17 »
А на eth0: яка адреса?

Offline sdwvit

  • Newbie
  • *
  • Повідомлень: 12
  • Karma: 0
Re: підключення мостом
« Reply #17 : 2009-11-07, 15:28:12 »
перевстановив усю убунту, бо не взмозі налаштувати інет.. давайте з початку.  що куди писати, якщо роутер роздає 192.168.0.126

Offline a.bukhansky

  • Full Member
  • ***
  • Повідомлень: 133
  • Karma: 4
Re: підключення мостом
« Reply #18 : 2009-11-07, 23:41:06 »
Який роутер роздає 192.168.0.126?
Раніше ти писав, що у тебе "статичний зовнішній айпі". Кому і на який інтерфейс роутер роздав таку адресу?
Або краще напиши які у тебе адреси на яких комп’ютерах і на яких інтерфейсах. Або дай сюди вивід ifconfig -a.
Якщо у тебе є ще якийсь роутер, то куди він під’єднаний і що на ньому є?

Offline sdwvit

  • Newbie
  • *
  • Повідомлень: 12
  • Karma: 0
Re: підключення мостом
« Reply #19 : 2009-11-10, 10:25:41 »
хмм..
провайдер дає статичний айпі 82.193.97.220 на роутер, який знаходиться у мене вдома.. роутер роздає на ноут 192.168.0.126

Offline a.bukhansky

  • Full Member
  • ***
  • Повідомлень: 133
  • Karma: 4
Re: підключення мостом
« Reply #20 : 2009-11-10, 22:08:23 »
У першому повідомленні мова йшла про два комп’ютери. Через п’ять днів вияснилося, що насправді не два комп’ютери, а маршрутизатор і ноутбук...
У мене думка така, якщо хочеш отримати якусь допомогу, то детально опиши що ти маєш, і що ти хочеш отримати, бо зараз погода напевно не дозволяє в астрал входити, щоб здалеку побачити, що там у тебе коїться.

Offline sdwvit

  • Newbie
  • *
  • Повідомлень: 12
  • Karma: 0
Re: підключення мостом
« Reply #21 : 2009-11-11, 12:51:27 »
у вкладеннях

Offline swift

  • Administrator
  • Hero Member
  • *****
  • Повідомлень: 549
  • Karma: 7
Re: підключення мостом
« Reply #22 : 2009-11-11, 16:47:06 »
Додай на картинку IP, на кожен вузол.
/dev/null > /dev/snd

Offline a.bukhansky

  • Full Member
  • ***
  • Повідомлень: 133
  • Karma: 4
Re: підключення мостом
« Reply #23 : 2009-11-11, 18:01:37 »
Ну я б сказав, що простіше було б кабель протягнути від маршрутизатора, то ноутбука, але якщо вже дуже не хочеться цього робити, і (чи) дуже хочеться зробити з убунту компа додатковий маршрутизатор, то можна зробити так:
1. Включити маршрутизацію в ядрі, як я раніше писав (файл /etc/sysctl.conf)
2. Налаштувати мережеві інтерфейси.
3. Включити маскарадинг.
Для виконання пунктів 2 і 3 можна в файлі /etc/network/interfaces написати щось приблизно таке:
auto eth1
iface eth1 inet static
  address 192.168.0.2
  netmask 255.255.255.0
  gateway 192.168.0.1

auto eth0
iface eth0 inet static
  address 192.168.1.1
  netmask 255.255.255.0
  up iptables -t nat -A POSTROUTING -o eth1 -s 192.168.1.0/24 -j MASQUERADE
  down iptables -t nat -D POSTROUTING -o eth1 -s 192.168.1.0/24 -j MASQUERADE

На ноуті тоді ставиш адресу 192.168.1.2, шлюз 192.168.1.1
ДНС краще постав провайдерські, і на убунті в /etc/resolv.conf також.
Це все при умові, що адреса маршрутизатора у тебе 192.168.0.1
Можна замість   up iptables -t nat -A POSTROUTING -o eth1 -s 192.168.1.0/24 -j MASQUERADE
і  down iptables -t nat -D POSTROUTING -o eth1 -s 192.168.1.0/24 -j MASQUERADE
в передостанній стрічці файлу /etc/rc.local вписати iptables -t nat -A POSTROUTING -o eth1 -s 192.168.1.0/24 -j MASQUERADE
Сподіваюсь, що нічого не наплутав.


 

Offline dizzymst

  • Newbie
  • *
  • Повідомлень: 11
  • Karma: 0
  • Нарванный Натти
Re: підключення мостом
« Reply #24 : 2011-02-08, 14:05:21 »
Народ вибачайте якщо щось не так, но пости ви пишите як для себе, рядовому користувачу не зрозуміти, внесу свої 5 копійок, попробую поетапно росписати що куди і як робиться


Offline dizzymst

  • Newbie
  • *
  • Повідомлень: 11
  • Karma: 0
  • Нарванный Натти
Re: підключення мостом
« Reply #25 : 2011-02-08, 15:17:45 »
Видаліть будь-ласка минулий мій пост, мені не дозволяє його редагувати(
Народ вибачайте якщо щось не так, але пости ви пишите як для себе, рядовому користувачу не зрозуміти, ось людина із-за того ОС переставляє і думає як все складно.
 Внесу свої 5 копійок, попробую поетапно росписати що куди і як робиться (див малюнок нижче, спс sdwvit за картинку)
Дано: Два комп'ютери, головний 1-й ПК (має 2 мережевих плати або інші ethernet-адаптери) має доступ до інтернету, має роздавати інтернет на 2-й комп'ютер (Клієнт)
Вмикаєм обидва ПК, вводим ifconfig -a або дивимся в "Система-Адміністрування-Мережеві інтсрументи". Потрібно визначити, яка з мережевих плат до чого підключена, Приклад:
Цитувати
.....
eth0      Link encap:Ethernet  HWaddr 48:5b:39:c6:cc:8a  
          inet addr:192.168.0.2   Mask:255.255.255.0
.....
.....
eth1      Link encap:Ethernet  HWaddr 48:5b:39:c6:cc:8a  
          inet addr:192.168.1.2   Mask:255.255.255.0
.....

По своїй конфігурації я по IP визначив, який інтерфейс eth0 - це підключений провайдер (як правило настройки ставляться автоматично), а eth1 - це моя власна сітка між 2-ма комп'ютерами. Це головне що потрібно вам знати, оскільки потрібно точно знати що саме ви настроюєте.
Пояснюю пошагово що необхідно:
1. Настроїти інтерфейс  який отримує інтернет.
2. Настроїти інтерфейс який віддає інтернет.
3. Зробити автозагрузку правил (настройок) iptables, за допомогою  скрипта iptables-restore.
Відкриваємо консоль (Увага! все робиться від імені суперадміна root, який викликається командою sudo):
Цитувати
sudo -s                            
cp /etc/network/interfaces /etc/network/interfaces.bak
gedit /etc/network/interfaces
Код: (/etc/network/interfaces)
Цитувати
auto lo
iface lo inet loopback
     post-up iptables-restore </etc/iptables.conf
auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet static
     address 192.168.1.1
     netmask 255.255.255.0
Ми описали інтерфейси системи вручну. Зберігаємо, перезапускаємо службу:
Цитувати
/etc/init.d/networking restart
[/b]

Настройка правил iptables и параметрів ядра:
Цитувати
sudo -s
echo 'net.ipv4.ip_forward = 1' >>/etc/sysctl.conf; sysctl -p
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 ! -d 192.168.1.0/24 -j MASQUERADE
iptables -t mangle -A FORWARD -p tcp -m tcp --tcp-flags RST,SYN SYN -j TCPMSS --clamp-mss-to-pmtu
iptables-save >/etc/iptables.conf
Настройка таблиць iptables і параметри ядра завершені. Строками
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 ! -d 192.168.1.0/24 -j MASQUERADE
iptables -t mangle -A FORWARD -p tcp -m tcp --tcp-flags RST,SYN SYN -j TCPMSS --clamp-mss-to-pmtu


Ми:
1. Дозволили пакетам бегати між інтерфейсами.
2. Дозволили NAT домашньої сітки, сконфігурувавши правила iptables.
3. Вирівняли размір MTU, він різний на інтерфейсах.
Ці дві стрічки можна замінити командою iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE, але в цьому випадку ви будете роздавати інтернет сусідам по свічу))
Стрічкою iptables-save >/etc/iptables.conf  зберегли правила  iptables за допомогою скрипта iptables-save.
Інколи цих настройок досить, АЛЕ 2-й ПК не зможе автоматично отримати IP адрес и IP сервера DNS від Серверу.  Якщо це не потрібно, тоді потрібно лише вписати на 2-му ПК настройки сітки:
IP : 192.168.1.2
Маска підсітки: 255.255.255.0
Шлюз: 192.168.1.1
DNS: DNS-провайдера
і можна слідуючий пункт не читати.

Настройка DNS и DHCP-сервера.
Тут буде розглянуто настройка DNS-проксі и DHCP-сервера, на прикладі dnsmasq. В терміналі (бажано кожну стрічку окремо) вводимо:
Цитувати
sudo apt-get install dnsmasq
cp /etc/dnsmasq.conf /etc/dnsmasq.conf.bak
gedit /etc/dnsmasq.conf
Код: (/etc/dnsmasq.conf)
Цитувати
# Вкажем інтерфейс, який буде слухати dnsmasq
interface=eth1
# Вкажем адрес, на якому буде находитись dnsmasq
listen-address=192.168.1.1
# Вкажем dnsmaq слухати  тільки интерфейси
bind-interfaces
# Вкажем локальний домен, для нашеої домашньої сітки, Це не обов'язково
domain=linux.lan
# Вкажем DHCP-серверу діапазон видаваємих адресс,  маску и час їх аренди
dhcp-range=192.168.1.2,192.168.1.254,255.255.255.0,24h
# Вкажем DHCP-серверу маршрут по замовчуванню (default route) який видається клієнтам,
# в нашому випадку це адреса інтерфейсу eth1
dhcp-option=3,192.168.1.1
# Можна вказати адресу DNS, яка видається DHCP-сервером примусово,
# якщо  щось не влаштовує  в dnsmasq,  хоча  Кліент і так по замовчуванню
# отримує адресу DNS=IP-eth1
# dhcp-option=6,ip-dns1,ip-dns2,ip-dnsN

Зберігаємо. Перезапускаєм dnsmasq
Цитувати
service dnsmasq restart

Здається все. Перегружаємо обидва комп'ютери Повинно працювати
Можна все це запустити одним скриптом, але рекомендую самому прости весь пост описаний вище:
Цитувати
#!/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin .
export PATH
testforward=`cat /etc/sysctl.conf |grep -v "#" |grep 'net.ipv4.ip_forward = 1' |wc -l`
# stuff
ifconfig eth1 down
ifconfig eth1 192.168.1.1/24 up
if [$testforward = 0]; then
   echo 'net.ipv4.ip_forward = 1' >>/etc/sysctl.conf
   sysctl -p
fi
iptables -t nat -F POSTROUTING
iptables -t mangle -F FORWARD
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 ! -d 192.168.1.0/24 -j MASQUERADE
iptables -t mangle -A FORWARD -p tcp -m tcp --tcp-flags RST,SYN SYN -j TCPMSS --clamp-mss-to-pmtu
exit 0

Здається все....

P.S. при падінні сітки (тьфу-тьфу-тьфу) вводимо
gedit /etc/network/interface
і повертаємо минулі значення, які стояли до нашого втручання
« Останнє редагування: 2011-02-08, 15:26:37 від dizzymst »

Offline a.bukhansky

  • Full Member
  • ***
  • Повідомлень: 133
  • Karma: 4
Re: підключення мостом
« Reply #26 : 2011-02-08, 23:02:13 »
Маю невеличке зауваження. Незрозуміло, чому:

Код: [Select]
auto lo
iface lo inet loopback
     post-up iptables-restore </etc/iptables.conf

тобто чому правила iptables застосовуються після підняття локального інтерфесу, а не зовнішнього?


Offline dizzymst

  • Newbie
  • *
  • Повідомлень: 11
  • Karma: 0
  • Нарванный Натти
Re: підключення мостом
« Reply #27 : 2011-02-09, 13:08:27 »
Маю невеличке зауваження. Незрозуміло, чому:

Код: [Select]
auto lo
iface lo inet loopback
     post-up iptables-restore </etc/iptables.conf

тобто чому правила iptables застосовуються після підняття локального інтерфесу, а не зовнішнього?
ммм... якщо чесно - чомусь у всіх мануалах  ця стрічка прописується перед зовнішніми інтерфейсами, я на рахунок цього навіть не задумувався, думав так і треба. В мене ще малий досвід роботи в Linux, але стараюсь