Автор Тема: Linux рутер  (Прочетена 1881 пъти)

JCN

  • Участници
  • ***
  • Публикации: 7
    • Профил
Linux рутер
« -: Oct 31, 2004, 18:49 »
Здравейте пичове. Как да шерна нета от Linux на Windows клиенти. Linux-a е с IP 192.168.2.1, Windows-a IP 192.168.2.5, a ISP (и DNS) IP 192.168.3.1 (през ppp0), Proxy IP 192.168.1.1
Това са ми настроиките обаче с тях неработи. Linux-a и Windows-a се пингват обаче нет има само Linux-a.
root@ttyp2[knoppix]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:BA:55:60:F1
inet addr:192.168.2.1 Bcast:192.168.2.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:9708 errors:0 dropped:0 overruns:0 frame:0
TX packets:9602 errors:0 dropped:0 overruns:0 carrier:0
collisions:193 txqueuelen:100
RX bytes:607719 (593.4 KiB) TX bytes:581420 (567.7 KiB)
Interrupt:10 Base address:0xdc00

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:12 errors:0 dropped:0 overruns:0 frame:0
TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:600 (600.0 b) TX bytes:600 (600.0 b)

ppp0 Link encap:Point-to-Point Protocol
inet addr:192.168.3.15 P-t-P:192.168.3.1 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:898 errors:2 dropped:0 overruns:0 frame:0
TX packets:958 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:741494 (724.1 KiB) TX bytes:93614 (91.4 KiB)

root@ttyp2[knoppix]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.3.1 * 255.255.255.255 UH 0 0 0 ppp0
192.168.2.5 192.168.2.1 255.255.255.255 UGH 0 0 0 eth0
192.168.2.0 * 255.255.255.0 U 0 0 0 eth0
default 192.168.3.1 0.0.0.0 UG 0 0 0 ppp0

root@ttyp2[ppp]# cat ip-up
#!/bin/sh
#
# $Id: ip-up,v 1.2 1998/02/10 21:25:34 phil Exp $
#
# This script is run by the pppd after the link is established.
# It uses run-parts to run scripts in /etc/ppp/ip-up.d, so to add routes,
# set IP address, run the mailq etc. you should create script(s) there.
#
# Be aware that other packages may include /etc/ppp/ip-up.d scripts (named
# after that package), so choose local script names with that in mind.
#
# This script is called with the following arguments:
# Arg Name Example
$1 Interface name ppp0
$2 The tty ttyS1
$3 The link speed 57600
$4 Local IP number 192.168.2.1
$5 Peer IP number 192.168.1.3
# $6 Optional ``ipparam'' value foo

# The environment is cleared before executing this script
# so the path must be reset
PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin
export PATH
# These variables are for the use of the scripts run by run-parts
PPP_IFACE="$1"
PPP_TTY="$2"
PPP_SPEED="$3"
PPP_LOCAL="$4"
PPP_REMOTE="$5"
PPP_IPPARAM="$6"
export PPP_IFACE PPP_TTY PPP_SPEED PPP_LOCAL PPP_REMOTE PPP_IPPARAM


# as an additional convenience, $PPP_TTYNAME is set to the tty name,
# stripped of /dev/ (if present) for easier matching.
PPP_TTYNAME=`/usr/bin/basename "$2"`
export PPP_TTYNAME

# Main Script starts here

run-parts /etc/ppp/ip-up.d

# last line
Активен

sys7em

  • Напреднали
  • *****
  • Публикации: 401
    • Профил
    • WWW
Linux рутер
« Отговор #1 -: Oct 31, 2004, 21:28 »
http://www.tldp.org/HOWTO/Masquerading-Simple-HOWTO/
Активен

Европейци сме ний, ама все не сме дотам!. . . Прощавай, не е за чудо пак да се срещнем.

SinFull

  • Напреднали
  • *****
  • Публикации: 82
    • Профил
    • WWW
Linux рутер
« Отговор #2 -: Oct 31, 2004, 22:15 »
Може да пробваш с нещо такова например
#!/bin/sh
usr/sbin/iptables -F -t nat
ipt="usr/sbin/iptables"
fake_nets="192.168.10.2 192.168.10.3 192.168.10.4 .... и т.н IP за които ти трябва нет"
 for fake_net in $fake_nets; do
$ipt -t nat -A POSTROUTING -s $fake_net -j SNAT --to-source /IP на Linux-a на което влиза Net-a/
done;

Поне при мен така си има нет на всички машини които искам
Успех
Активен

SinFull

  • Гост
Linux рутер
« Отговор #3 -: Nov 01, 2004, 00:22 »
Tova za NAT prosto go zabravi. Ne tova e problema ti i gornite dve mnenia nikak niama da ti pomognat. Vij kak si si konfiguriral Windows machinata.
Активен

JCN

  • Участници
  • ***
  • Публикации: 7
    • Профил
Linux рутер
« Отговор #4 -: Nov 01, 2004, 13:38 »
Оргиналната конфигурация на мржата е от XP Pro като шлюз и клиенти Win NT4 и няколко 9x. XP-то набира през модема някъв Win 2000 мисля. Това всичко работи без проблеми. Искам да го направя под Lilux, естествено запавам IP-то на шлюза 192.168.2.1 така че по клиентите да не пипам нищо то си работи с XP-то трябва да тръгне и при Linix/Unix къвто и да е.
Настроиките на клиентите са Gateway 192.168.2.1, DNS 192.168.2.1, Proxy 192.168.1.1. XP-то набира през модема Gateway 192.168.3.1 Proxy-то също е зад модема демек не е при мене. А относно скрипта ip-up го четох в една книжка на O'REILLY РЪКОВОДСТВО НА МРЕЖОВИЯ АДМИНИСТРАТОР ( http://free.data.bg/dlp/books/Linux/linuxnag.pdf ) там авторите се кълнат че тря да работи ама нестаа.
Активен

nix

  • Напреднали
  • *****
  • Публикации: 442
    • Профил
Linux рутер
« Отговор #5 -: Nov 01, 2004, 15:53 »
Ето ти един примерен скрипт в твоят случей заместваш eth0 с ppp0 и eth1 с eth0.
Цитат

#!/bin/sh
#ne e koi znae kvo no bachka

case "$1" in
  start)
echo "Start internet..."

#Flush all the rules in filter and nat tables
iptables --flush
iptables --table nat --flush

#Delete all chains that are not in default filter and nat table
iptables --delete-chain
iptables --table nat --delete-chain

#Set up IP FORWARDing and Masquerading
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
#Assuming one NIC to local LAN
iptables --append FORWARD --in-interface eth1 -j ACCEPT

#Enables packet forwarding by kernel
echo 1 > /proc/sys/net/ipv4/ip_forward

echo "done..."
exit 1
    ;;
  stop)

echo "Stop internet..."

#
# reset the default policies in the filter table.
#
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

#
# reset the default policies in the nat table.
#
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT

#
# reset the default policies in the mangle table.
#
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P OUTPUT ACCEPT

#
# flush all the rules in the filter and nat tables.
#
iptables -F
iptables -t nat -F
iptables -t mangle -F
#
# erase all chains that's not default in filter and nat table.
#
iptables -X
iptables -t nat -X
iptables -t mangle -X

echo "...done"
    ;;
esac
# End


Има и коментари надявам се да се ориентираш!
Успех'<img'>
ПС>Махни ги тези route дет си ги наблъскал!
Активен

DEBIAN GNU/Linux SID/kernel-2.6.16

krasi_nik

  • Напреднали
  • *****
  • Публикации: 48
    • Профил
Linux рутер
« Отговор #6 -: Nov 01, 2004, 15:54 »
В няколко подобни теми бях написал като отговор за решаване на подобен проблем ползването на набор от скриптове , които са подходящи за НАТ, Защитна стена , Маскарадинк и много други функции. Незнам защо се пренебрегва обаче. Линка към въпросния скрипт е http://muse.linuxmafia.org/gshield/.
Конфигурацията не отнема повече от 5-10 мин. Има пълно описание какво и къде трябва да се напави.
При мен беше следното: PC с две лан карти + един HUB.
ISP ext interface eth0 IP xxx.xxx.xxx.xxx., mask neshto si.
Даваше и-нет на 3-ма потребители
int interface eth1 IP 192.168.1.1 маска 255.255.255.0
Давам на 192.168.1.2, 1.3, 1.4 , в последствие връзката се промени и смених само ext interface от eth0 на ppp0 понеже стана pppoe. За машините които са с ВинБоуз в настройките на TCP/IP задавах следното.
1.IP-то горепосочени са за 3 мата ми потребители, маската като за eth1
2.Шлюз - ip за eth1
3.DNS зададен от ISP-to ако си на DHCP само трябва да си го вземе.
Има вариант и за DHCP.
От това по-лесно неможах да намеря , като се има предвид, че съм начинаещ потребител и правилата на IPTables не са ми много познати.
Активен

  • Гост
Linux рутер
« Отговор #7 -: Nov 01, 2004, 16:18 »
Брей, струва ми се че тук се хвърлят излишни байти информация без нищо полезно...
Пуснал ли си ip_forward ?
Активен

JCN

  • Участници
  • ***
  • Публикации: 7
    • Профил
Linux рутер
« Отговор #8 -: Nov 01, 2004, 18:09 »
Нов съм та за ip_forward даже не бях чувал ще попрочета малко man. Благодаря на всички, ако има още нещо освен ip_forward казваите.
Активен

  • Гост
Linux рутер
« Отговор #9 -: Nov 01, 2004, 19:11 »
Без ip_forward няма как да стане. То управлява препращането на пакети от една към друга мрежа. Така Линукс машината заработва като рутер. За да активираш ip_forward трябва да зададеш стойност 1 в определен файл. Това става така:
echo "1" > /proc/sys/net/ipv4/ip_forward
Горния ред може да го сложиш в някой от началните скриптове (примерно ако имаш за iptables) за да се изпълнява при всяко зареждане на системата.
Успех и кажи дали е станало!
Активен

JCN

  • Участници
  • ***
  • Публикации: 7
    • Профил
Linux рутер
« Отговор #10 -: Nov 03, 2004, 02:12 »
Още един път благодаря на всички.
Пич с echo "1" > /proc/sys/net/ipv4/ip_forward нестана, а онова дето съм го чел маи е за VLAN или нщо в тоя десен, това за рутирането било 3-4 глави по натам няма писане на безкраини скриптове само две команди и даже работи.
 
# iptables -t nat -P POSTROUTING DROP
# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

можело да се ползва и някоя от тея ама KNOPPIX-а се дърпа и неще копелето гадно били несъвместими с ядрото.

# ipchains - P forward -j deny
# ipchains - A forward -s 192.168 .1.0/24 -d 0/0 -j MASQ

или

# ipfwadm -F -p deny
# ipfwadm -F -a accept -m - S 192.168.1.0/24 -D 0/0

Обичам го тоя O'REILLY имам три негови учебници и трите са перфектни, ако сега започвате с Linux горещо го препоръчвам.
Активен

  • Гост
Linux рутер
« Отговор #11 -: Nov 03, 2004, 09:34 »
Филтрирането на пакети е компилирано в ядрата. Първото поколение потребителски пакети за използване на филтрирането беше ipfwadm, после ipchains и последното поколение е iptables, което всъщност е в ядра => 2.4.
Така, че е нормално да не стане с ipfwadm и ipchains.
Колкото до NAT - съм леко учуден, защото по дефиниция той преобразува частен в публичен адрес, какъвто ти нямаш. А без ip-forward не би трябвало да стане и предполагам, че просто е включено по дефолт при теб. Както и да е, това са си мой размишления, важното е че при теб работи.
Активен

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
Бисквитките на linux-bg.org
Предложения за подобрения на сайта
ogi 0 4942 Последна публикация Apr 29, 2002, 21:40
от ogi
Лаком Linux
Хардуерни и софтуерни проблеми
kennedy 2 5550 Последна публикация Aug 13, 2002, 01:15
от zarrro
Mandrake Linux 10 and Linux
Настройка на програми
aaaSASlover 3 9792 Последна публикация Dec 08, 2012, 20:46
от UBIGI
Remote връзка Linux<--> Linux
Настройка на програми
stoyanovs 5 8167 Последна публикация Jan 24, 2006, 16:49
от gostenin
Experienced linux enginnced linux engineers
Търсене
bulwork 0 8341 Последна публикация May 10, 2008, 14:24
от bulwork