[Çözüldü] Ağ Uzmanlarına Bir Kaç Soru

Başlatan cebecifaruk, 25 Mayıs 2014 - 00:20:43

« önceki - sonraki »

0 Üyeler ve 4 Ziyaretçi konuyu incelemekte.

cebecifaruk

Arkadaşlar evimde şuan 1 adet modem var cihazlar buna bağlı. Fakat ben evde bir kaç cihazdan oluşan bir server kutusu kuracağım. Bu kuracağım server kutusu ile modem arasında kablo çekmeden kablosuz olarak bağlantı kurmam gerekiyor.

Server kutusunun içinde bir switch bulunacak bu cihazları birbirine bağlayacak. Bu switchede bir adet wifi bridge bağlıyacağım. (Wifi kablo dönüştürme için). Bu wifi bridgede modeme bağlanacak.

İşte burada aklıma takılan sorulan var.

Wifi bridge kullanırsam port açabilirmiyim?
Sonuçta Server kutusunun içindeki cihazlara internetten erişmem gerekiyor?

Wifi bridge ile switch bağlantısında bir sıkıntı olurmu? (Wifi bridge birden fazla cihaz desteklermi?)

İnşallah anlatabilmişimdir. Eğer gerekirse ağın kabataslak çizimini de atabilirim.

Saygılar..


WhiteScars

Bence sen çizimi at. Server kutusu nedir?
İnsanoğluna bırakabileceğiniz en güzel miras tecrübelerinizdir.

cebecifaruk

#2
Bir kaç tane cihazdan oluşan bur kutu isim olarak server kutusu dedim, aklıma ilk o gelmişti ilk fırsatta çizimi atarım


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 25 Mayıs 2014 - 06:38:52

Kusura bakmayın çizim kötü oldu malesef acele yapmak zorunda kaldım. Saygılar...


[eklenti yönetici tarafından silindi]

WhiteScars

Anlattıklarından doğru anladıysam, aşağıda iki önerim var.

1. Piyasada repeater özellikli access point satılıyor. Repeater özelliği var olan wifi ağını uzatmanız için. Yani bu access pointin repeater özelliğini kullanarak modemine wifi ucundan bağlantı kurabilirsin. Bu ap'ler üzerinde ethernet portlarıda mevcut. Wifi ile aldığın interneti portlara dağıtabilirsin. Bu portlarada server'larını bağlayabilirsin. Fakat bu yöntemin bazı problemleri çıkabilir. Bu ap'ler üzerinde NAT, Firewall, DNS, DHCP gibi yazılımlar oluyor fakat ben ne yaptıysam istediğim gibi konfigure etmeyi beceremedim. Kısacası konfigurasyonel problemler çıkabilir. Sonuçta 100 - 150 liralık cihaz ne kadar esneklik sağlayabilirki.

2. Olarak sunduğum yapıyı ben evimde kullandım bir dönem. Kurması çok zor olmayan bir yapı ama evde internete girmek için bile ekstradan bir pc sürekli çalışması gerekiyor. Bu yapıda gateway dediğim pc üzerine linux kurarsın, bir tane wireless adaptörü takarsın bir tanede ethernet kartı olur. Normal bir şekilde wireless ağına katılırsın, diğer etherneti'de switch'e bağlarsın. Bundan sonrası ise tamamen konfigurasyon işi. iptables ile wifi interface'inden aldığın bağlantıyı, ethernet interface'ine, ethernetten aldığın bağlantıyı wifi interface'ine yönlendirdiğinde bütün makinaların internete erişebilir. Bunların yanında yine bu pc üzerinde DHCP sunucusu kurabilirsin, eğer ip'leri elle vermek istemezsen. DNS sunucusu kurabilirsin, aynı zamanda firewall olarakta kullanabilirsin. ki öyle yapman lazım. Bu yapıda herhangi bir yerden herhangi bir yere erişimi sağlayabilirsin. Yani internetten herhangi bir makinaya erişebilirsin. Tabi Gateway hostu üzerindeki firewall'da izin tanımlanmış olması gerekir.

Bridge dediğin şey 2 uçludur.  Zaten o yüzden bridge deniyor. Yukarda gateway dediğim makina aslında senin bridge dediğin işi yapıyor. Gateway birden fazla yöne sahip olabilir.  Yani + şeklinde bir köprü düşün bütün uçlarının ayrı birer network olduğunu düşün.

Diğer yandan port açma değimini kullanmayın yaw. Yok böyle bir terim. Port açmak demek programın çalışıp bilgisayar üzerindeki boş bir port'a bind olması demektir. Fakat senin bahsettiğin port açma aslında port forwarding olabilir veya firewall üzerinden belli bir porta geçiş izni vermek olabilir. 


[eklenti yönetici tarafından silindi]
İnsanoğluna bırakabileceğiniz en güzel miras tecrübelerinizdir.

cebecifaruk

2. Yöntem daha mantıklı onu kullanacağım elimde raspberry pi nin değişik bir versiyonu olan beagle bone black var buna dün ubuntu kurdum ve internetten bu olay ile ilgili bir instrucrion buldum. Onu uyguladığımda olacak gibi iptables üzerindende sizin dediğiniz gibi port açabilirsem çok iyi olacak.

Ayrıca evinizde buna benzer sistemler kullanıyorsanız raspberry pi yi araştırmanızı tavsiye ederim. Süper bi alet bende raspberry pi türevi olan pcduino ve beagle bone black var.

Bu arada iptables üzerinden nasıl port açıyoruz?

Saygılar..

heartsmagic

Ben de @WhiteScars'ın ikinci önerisi üzere Raspberry Pi kullanabilirsin diyecektim. Zira bu amaca çok uygun kendisi şu aşamada.
@cebecifaruk, ısrarla mı "port açmak" ifadesini kullandın son iletinde :) @WhiteScars gıcık almış o ifadeden, nedenini de açıklamış. Şaka bir yana, doğru olan şeyi söylemiş tabi, eh gerisi de azıcık senin araştırmana bakmıyor mu?
https://www.google.com.tr/search?q=iptables+port+forwarding&oq=iptables+p&aqs=chrome.1.69i57j0l5.4178j0j7&sourceid=chrome&es_sm=88&ie=UTF-8

Sen yine bakarsın, denersin olmazsa forumda sorarsın sorularını.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

cebecifaruk

Bridge işlemi tamam, hallettim bugün. Tek sorunum kaldı port açmak;

  • iptables üzerinden port nasıl açabilirim? (ör; 192.168.1.2 cihazının 80. portu gibi)

heartsmagic

Verdiğim Google araması sonuçlarına biraz bakındın mı?
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

cebecifaruk

Baktım bazılarını denedim fakat işe yaramadı.

eth0:      bridge ağı
wlan0:   Modeme bağlı olunan ağ (ev ağı)

Şimdi 192.168.1.2 adresindeki 80. portu bridge ağın 80. portuna yönlendirmek istiyorum. Şu komutu verdim ve komutta hata ile karşılaşmadım fakat işe yaramadı:

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.1.2:80

Büyük bir ihtimal parametrelerde bir sıkıntı var. Veya bu komuttan önce vaya sonra girmem gereken bazı komutlar var. İşte bunlarda sıkıntım var.

WhiteScars

#9
IPtables uzmanı değilim ama şöyle denersen olabileceğini düşünüyorum.

Öncelikle aslında senin router olarak linux'ü konfigure etmen lazım. Yani interface bazında bütün trafiği iki yönlü aktarabilmen lazım. Kısacası router'ın yaptığı işi yapacak bu makina. Arkasından iptables'a belli başlı rule girerek trafiği limitleyebilirsin.

Yani demek istediğim şu: eth0 bağlı olan ağdan gelen trafik wlan0'a, wlan0'dan gelen trafik eth0'a aktarılabilmeli.

Önce şunu yap:

Yazacağım komutlar benim test ettiğim komutlar değil, zira red hatta yapmıştım bu işleri. O yüzden biraz ayarlama gerekebilir komutlarda.

Öncelikle kernel ipv4 forwarding'i etkinleştirmen lazım.

/etc/sysctl.conf dosyasını aç, orada

net.ipv4.conf.default.forwarding=1
net.ipv4.conf.all.forwarding=1
 

olacak bunların 1 olduğuna emin ol, değilse 1 yap ve aşağıdaki komutu çalıştır

sysctl -p

çalıştır parametrelerin aktif olması için.

wlan0 ev ağı, eth0 bridge yazmışsın ama ben anlamadım bunları.

Normalde bu networkleri internal ve external diye ayrılır. Internal dediğim, router'ın ev networküne bakan tarafıdır. External ise internetin bulunduğu networktür.

Aşağıdaki yazdığım komutlar wlan0'ın external
eth0'ın internal ağ olması durumunu gösteriyor. Sende tam tersi ise wlan0 ile eth0'ın yerlerini değiştir.

Sonra aşağıdaki komutları sırayla çalıştır.


sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE



sudo iptables -A FORWARD -i wlan0 -o eth0 -m state -–state RELATED,ESTABLISHED -j ACCEPT



sudo iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT


Bunlar bittikten sonrada iptable's save etmen lazım ama nasıl yapılıyor ubuntuda bilmiyorum. Zira bilgisayarını yeniden başlayınca bu kurallar silinecek. RHEL'de bu işi ben direk /etc/iptables/iptables.conf dosyasını değiştirerek yapıyorum. O yüzden save etmeme gerek kalmıyor.

Komut iptablessave gibi bişidi. yada iptables-save. Komutu bulduktan sonra man <komut> ile nasıl kullanıldığına bakabilirsin.

Bu yukardakileri yaptığında, iki ağ birbirine bu linux makinası vasıtası ile bağlanabiliyor olması lazım. wlan0'daki bir bilgisayar ile eth0 daki bir bilgisayarı ping'leyebilmelisin. Bu arada wlan0'daki bilgisayar default gateway'i wlan0 arayüzünün ip adresi olması lazım, eth0'ın bağlı olduğu networkteki bilgisayarın gateway'i ise eth0'in ip adresi olması lazım. İki farklı networkteki bilgisayarları önce bir birleri ile pinglet eğer pingleyebiliyorlarsa, arkasından bu bilgisayarlarda dns ayarlarını girip nete çıkabilirsin.

Önce bunu yapmaya çalış arkasından port forward etmeye mi açmayamı neyse ona bakarız :)

Cevabı yazdıktan sonra okudumda cidden bir kendimi ifade etme problemim var :)
İnsanoğluna bırakabileceğiniz en güzel miras tecrübelerinizdir.

cebecifaruk

Bu anlattıklarınızın çoğunu yaptım. Daha doğrusu bunu bir script kullanarak yaptım. Şuan cihaz bir router gibi çalışıyor. İnternete cihaz üzerinden bağlanabiliyorum.Bu arada:

eth0      -> International
wlan0    ->External

şeklinde bir bağlantı var. Kullandığım script'e göz atmak istiyorsanız:


#!/bin/bash
#
# Site: www.hackhappy.org
# Article: http://hackhappy.org/uncategorized/how-to-use-a-raspberry-pi-to-create-a-wireless-to-wired-network-bridge/
# Video: http://youtu.be/FlLLmacDqJU
# Description: Shells script to configure linux to forward traffic
# from wireless to ethernet. This is useful if you do not have wire
# access to the router.

function Configure () {
clear
echo "############################################################"
echo "# Configure linux to connect wifi network to wired network #"
echo "############################################################"
echo ""
echo -n "Input LAN IP [192.168.0.1]: "
read lip
if [ "$lip" = "" ]; then
lip="192.168.0.1"
fi

echo -n "Input LAN Netmask [255.255.255.0]: "
read netmask
if [ "$netmask" = "" ]; then
netmask="255.255.255.0"
fi

echo -n "Input LAN Subnet [192.168.0.0]: "
read subnet
if [ "$subnet" = "" ]; then
subnet="192.168.0.0"
fi

echo -n "Input IP Range Start [192.168.0.2]: "
read ipstart
if [ "$ipstart" = "" ]; then
ipstart="192.168.0.2"
fi

echo -n "Input IP Range End [192.168.0.200]: "
read ipend
if [ "$ipend" = "" ]; then
ipend="192.168.0.200"
fi

echo -n "Input Wifi SSID: "
read ssid
echo -n "Input Wifi Password: "
read password

echo -n "Input LAN Device [eth0]: "
read landv
if [ "$land" = "" ]; then
land="eth0"
fi

echo -n "Input Wifi Device [wlan0]: "
read wifid
if [ "$wifid" = "" ]; then
wifid="wlan0"
fi

#Update system software
clear
echo ""
echo "##### Updating OS &amp; Apps. This may take some time..."
echo ""
apt-get update
apt-get -y upgrade

#Configure devices
echo "
auto lo $land
iface lo inet loopback
iface $land inet static
address $lip
netmask $netmask

auto $wifid
iface $wifid inet dhcp
wpa-ssid \"$ssid\"
wpa-psk \"$password\"

up iptables-restore > /etc/iptables.ipv4.nat
" > /etc/network/interfaces

#install and configure the DHCP server
clear
echo "##### Installing and Configuring DHCP Server..."
echo "##### If you see any errors this is expected behaviour. Don't panic..."
echo ""
apt-get -y install isc-dhcp-server
echo "
option domain-name \"wifi2lan.rpi\";
option domain-name-servers 8.8.8.8, 8.8.4.4;
subnet $subnet netmask $netmask {
range $ipstart $ipend;
option routers $lip;
}
" > /etc/dhcp/dhcpd.conf
clear
echo "##### Restarting DHCP Server..."
echo ""
echo "INTERFACES=\"$land\"" >  /etc/default/isc-dhcp-server
service isc-dhcp-server restart
update-rc.d isc-dhcp-server enable

#Install and configure iptables
clear
echo "##### Installing and Configuring IP Forwarding..."
echo ""
apt-get -y install iptables
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o $wifid -j MASQUERADE
iptables -A FORWARD -i $wifid -o $land -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i $land -o $wifid -j ACCEPT
iptables-save > /etc/iptables.ipv4.nat

clear
echo "##### Installation Complete."
echo "##### Reboot or restart networking to apply new network configuration: sudo /etc/init.d/networking"

}

Configure


Buda kurlum yapılırken bir video:

http://www.youtube.com/watch?feature=player_embedded&v=FlLLmacDqJU

Şuanlık tek sorunum port yönlendirmek..
Saygılar....

WhiteScars

Bak mac os'a geçecektim tam ubuntuyu silecektim cevap yazmışsın. Bu arada ben ne mi diyorum :)

https://forum.ubuntu-tr.net/index.php?topic=43816.0

Şimdi port forwarding'e neden ihtiyacın var? Aslında ihtiyacın gerçekten var mı onu anlamak lazım. Şu anda dışardan internetten bir makinadan ki bu trafiğin wlan0 interface'inden geleceğini düşünüyorum, eth0 tarafındaki bir makinaya geçebilmesi lazım. Kısaca şöyle test edebilirsin.

internal ağındaki bir makinada apache web server kur. internal ağındaki diğer makinalardan buna rahatça bağlanabiliyormusun ona bak zira apache izin vermiyor olabilir. arkasından wlan0'daki bir makinadan bu apache server'a bağlanmayı dene.

Şöyle örnek vereyim.

Diyelimki

internal ağın 192.168.2.0 networkü
external ağın 172.26.0.0 netwokü

internal ağında 192.168.2.10 ip li bir bilgisayar var.
external ağında da 172.26.0.15 ip'li bir bilgisayar var.

Routing işlemi başarılı ise;
192.168.2.10 makinasından 172.26.0.15'e ping atabiliyor olman lazım
172.26.0.15 makinasından da 192.168.2.10'a ping atabiliyor olman lazım.

Şimdi diyelimki sen 192.168.2.10 makinasına apache web server kurdun. ve bu ağda 192.168.2.11 nolu başka bir bilgisayar daha var.

ilk önce şunu dene

192.168.2.11'deki makinanın browser'ına http://192.168.2.10 yaz eğer sayfa geliyorsa bir sonraki adıma geç

172.26.0.15 makinasının browser'ına http://192.168.2.10 yaz eğer sayfa geliyorsa işler güzel.

Bunları yapabiliyorsan şu an senle aynı dili konuşuyor olacağız.

Anladığım kadarıyla internetteki bir makinadan 192.168.2.10'daki web sunucusuna bağlanmak istiyorsun. Doğru mu anladım bunu?

Eğer doğru anladıysam içerdeki makinada port forwarding'e ihtiyacın yok. Port forwarding dediğin şey şu dur:

Örneğin

http://192.168.2.10 yazdığında herhangi bir makinadan (Farzı misal 172.26.0.15) trafik 80. porttan akar ve 192.168.2.10 makinasına gelir 80. porta, 172.26.0.15 makinasında da random bir port açılır. Sallıyorum 13.233.

trafik 192.168.2.10:80 ile 172.26.0.15:13233 arasında akar.

Diyelimki 192.168.2.10'da apache 80 portta çalışmasına rağmen sen 172.26.0.15 makinasında http://192.168.2.10:8080 yazarak 80. porttaki çalışan apache'ye ulaşmak istiyorsun. 192.168.2.10 makinasında 8080 portunu dinleyen bir uygulama olmadığı için 172.26.0.15:8080 yazdığında 404 hatası alacaksın. Page not found. İşte burda iptables üzerinden 8080 portunu 80. porta forward edeceksin yada apache proxy server kullanacaksın.

Yok benim istediğim bu değil diyosan tekrar konuşalım :)

İnsanoğluna bırakabileceğiniz en güzel miras tecrübelerinizdir.

cebecifaruk

Aslında şuan aynı dili konuşuyoruz.[emoji1]

Fakat benim amacım dirkt olarak şu:

Evimde bir adet router modem var ve ben eve server kurdum bu server'ada modemden port açıp bağlanabiliyorum. Buraya kadar her şey güzel. Fakat benim server evin salonunda ben bunu odama taşımak istiyorum. Ama modemin yerini de değiştiremiyorum. Elimde 2 seçenek kalıyor:
Ya odama kablo çekmem gerekecek yada bir tane wifi bridge yapıp kablosuz sinyali kabloluya dönüştürüp odanın içinde swich ile dağıtcam.

Odama kablo çekemiyorum. (Annem izin vermiyor)

Dolayısıyla tek yöntem kalıyor. Oda brige yöntemi


Şimdi sisteme gelelim:

Evdeki modeme -> ev ağı
Odamdaki bridge cihazına (Kablosuz sinyali alıp dağıtan router)-> Oda ağı diyelim

Oda ağındaki 192.168.1.2 olan cihazda apache kurulu ve ben bu cihaza oda ağından ulaşabiliyorum.
Odadaki bridge cihazı ise evdeki router'a 192.168.0.2 adresine bağlı

Ben ev ağına bağlı bir cihazdan http:// 192.168.0.2:80 adresini girince sayfayı bulamıyor.
Kısacası benim 192.168.1.2 adresindeki cihazın 80. Portunu brigenin 80 veya 8080 portuna yönlendirmem gerekiyor.

Bu arada yazım hatam olabilir telefobdan yazıyorum. Saygılar..

WhiteScars

Ben anlamadım :)

Şimdi evde ADSL modemin var ve bu modeme bağlı server var. Buna (A) diyelim. A'da salonda. Sen bunu odana almak istiyorsun fakat kablo ile modeme bağlı olduğu için sen makinayı odana alamıyorsun.

Neden A bilgisayarına bir wifi alıcısı koyup, wifi aracılığı ile modeme bağlanmıyorsun?
Eğer modem wifi arayüzü yoksa, access point alıp modeme kablo ile bağlayıp, yine A serverına wifi alıcısı koyup bağlamıyorsun? Gerçi git wifi destekli adsl modemi al daha iyi :)

Bu kadar çok sunucuyu çalıştırmak internete girmek için elektrik faturasını yükseltir :)
İnsanoğluna bırakabileceğiniz en güzel miras tecrübelerinizdir.

cebecifaruk

İlk önce şunu belirteyim evimdeki modem wifi destekli.

Aslında şuan evde çalışan 2 server var ve bunlara 2 tane daha eklenecek hepsine ayrı ayrı wifi adaptör almak yerine bir bridge yapıp bundan gelen sinyali her server'a switch ile dağıtacağım.

Bu arada elektrik faturası hiç dert değil. Çünkü kullandığım server lar 5v 1 amper ile çalışıyor. Küçük bir hesaplama ile bu serverların ne kadar elektrik harcadığını hesaplayalım:
1 Server için;
5w*24*30/1000*0.25= 0.9 Tl

Benim kuracağım sistem aylık 9 Tl falan yakıyor.

İnanılmaz değilmi ?

Eğer ilginiz varsa şunları araştırabilirsiniz:

Raspberry Pi
Pc DUino
Beagle Bone Black
UDOO

İnşALLAH anlatabilmişimdir.Neyse konumuz biraz dağıldı. Şimdi ben bu cihazda portu nasıl açarım?

WhiteScars

Aslında güzel anlaşacaz senle'de ben yapmak istediğin yapıyı kağıt üzerinde görmem lazım. Çizim olarak yazılınca anlamıyorum :) Ya da başka bir arkadaş burda devreye girebilir.

Packet Tracer diye bir program var. Duydun mu bilmiyorum. Network simulatörü. Bunu indirip,  yapmak istediğin networkü burda çizebilirsin. Hatta simule bile edebilirsin. Kısacası kafanda düşündüğün network yapısını çizerek burda paylaşırsan olacak o iş :)

Bu çizimi yaparken, bütün aygıtların interface'lerini ve IP'lerini yazman lazım. Networkleri belirmen lazım.

Kabaca elimle çizdim buna benzer bir diyagramın olursa daha rahat olacak anlaşmak

[eklenti yönetici tarafından silindi]
İnsanoğluna bırakabileceğiniz en güzel miras tecrübelerinizdir.

cebecifaruk

Bu aralar çok müsait değilim şuan çizimi atamayacağım ama basit bir çizim ilk mesajımda var. Ben şuan acilen port forwarding yapmalıyım. Ama internette gördüklerimi b anlayamadı. Biri bana şu işin mantığını ve hangi komutlar kullanmam gerektiğini söylerse çok mutlu olurum.

Saygılar..

heartsmagic

#17
Şimdi, yapı şöyle mi?

Modem
               ----->  Beaglebone
                                                     ------> Sunucu 1
                                                    |
                                                     ------> Sunucu 2

Eğer böyleyse, modem arkasında NAT mı yapılıyor? Eğer böyleyse diyelim ki 80 portu Sunucu1'e mi yönlendirilecek?
Hiç yapmadım, denemedim ancak modemden port yönlendirilmesi yapılacak öncelikle sanıyorum, ki bu da Beaglebone'a olacak. Ardından orada muhtemelen şu işlemler yapılmalı:

echo 1 >/proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination sunucu1_ip_adresi
iptables -t nat -A POSTROUTING -p tcp -d sunucu1_ip_adresi --dport 80 -j MASQUERADE


(Debian'a göre)
Kaynak: http://www.simplehelp.net/2009/04/15/how-to-redirect-traffic-to-another-machine-in-linux/

Benim de kafamı karıştıran nokta modemden zaten bir port yönlendirilmesi yapılacak olması. Denemekten zarar çıkmaz. Bu arada, umarım dışarıdan makinelere erişme işini kendi ağın içinden yapmıyorsundur? Modemin arkasından yapamazsın o işi, proxy falan kullanabilirsin. Modemdeki bir özellik o işi sağlıyor esasında ancak ne yazık ki hatırlayamıyorum şu an.

Bir dakika, Beaglebone'da iki bacak var değil mi, o kısmı kaçırmışım ben. Eğer böyleyse ayrıca bakınmak gerekiyor.

iptables -t nat -A POSTROUTING --out-interface wlan1 -j MASQUERADE
iptables -A FORWARD --in-interface eth0 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -i eth0 -m tcp --dport 80 -j DNAT --to-destination sunucu1_ip_adresi


denenebilir sanki.
                                                                                     
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

cebecifaruk

#18
Alıntı yapılan: heartsmagic - 14 Haziran 2014 - 01:20:53
Modem
               ----->  Beaglebone
                                                     ------> Sunucu 1
                                                    |
                                                     ------> Sunucu 2
                                               

Evet bağlantı bu şekilde dediklerinizi bugün deneyeceğim. Elimden geldiğince hızlı cevap vermeye çalışırım.


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 14 Haziran 2014 - 10:33:41

Olmuyor abi kafayı yicem beagle bone ağında 192.168.1.2 yazıyorum. Sayfa geliyor. Daha sonra 192.168.1.2 port forwarding yapıyorum. Evdeki modeme telefon ile bağlanıp beagle bone ip adresini yazıp girmeye çalışıyorum sayfa bulunamadı diyor.


iptables -t nat -A POSTROUTING --out-interface wlan0 -j MASQUERADE
iptables -A FORWARD --in-interface eth0 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -i eth0 -m tcp --dport 8080 -j DNAT --to-destination 192.168.1.2:80
sudo su -c "iptables-save > /etc/iptables.ipv4.nat"



Bu komutları aynen uyguladım. Ama dediğim gibi yapamadım.

heartsmagic

Dediğim gibi öncesinde bir nat var, ne şekilde yapılır ben de emin değilim. Arayüz isimleri doğru mu? wlan0 ve eth0 mı yani sistemlerde?
İkinci soru da modemden 8080'i mi önce yönlendiriyorsun?
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

WhiteScars

Ya bu iş karışık olacak ama ben sana yardımcı olacağını düşündüğüm bir şeyler yazayım.

Şimdi senin bir dış ip adresin var. Bunun static olması lazımki dışardan içeri rahatça ulaşabilesin. Bu ip 212.233.33.234 gibi bir şey olsun. Senin modem üzerinde bir firewall (nat) vardır. Bu nat üzerinden senin iç ağına geçiş olur. iç ağında diyelimki 192.168.0.0 ağı olsun. Nat burda yapılıyor senin modeminin iç tarafına bakan ip'ye o da normalde 192.168.0.1 olur yani iç networkünün gateway'in ip si.

içerde de diyelim 192.168.0.10 makinası üzerinde apache çalışıyor.

Gateway üzerindeki firewall nat bütün trafiği kayıtsız geçirdiğini farzedersek, internet üzerinden ben http://212.233.33.234 yazdığımda senin 192.168.0.10 makinasındaki apache'ye bağlanabilmem lazım. Bu port yönlendirme değil ama.

Diyelimki sen bu modem üzerindeki firewall'da bütün portları kapattın sadece diyelim 2222 portunu açık bıraktın. ve içerdeki makinaların birinde (192.168.0.15 diyelim buna) mysql çalışıyor. Mysql öntanımlı olarak 3306 üzerinde çalışır. iki opsiyonun var ya mysql 2222 portunda çalıştıracaksın yada port forwarding yapacaksın. Modem üzerindeki firewall üzerinden diyeceksinki 2222 portuna gelen bütün trafiği içerde 192.168.0.15'in 3306'sına aktar.

Senin yapmak istediğin ikinci örnekte verdiğim gibi bir şey mi?

Eğer böyle bir şeyse port forwarding'e ihtiyacın var. Fakat bu durumda içerde server diye adlandırdığın makinaya modem bütün trafiği vermesi lazım ve sen bu makinayı router gibi kullanıp, içerdeki diğer makinalara dağıtman lazım. Yada modem üzerinde port forwarding yapman lazım. Bu durumda da server'a ihtiyacın kalmıyor.

Diğer bir durum ise, isp'lerin firewalları olabilir. Eğer o firewall üzerinde bir portun geçişine izin verilmediyse zaten senin modemine kadar bağlantı gelmeyebilir bile. Neden bu kadar şeyi yazdığıma gelince körü körüne iş yapma diye. Eğer ne yapmak istediğini güzel bir şekilde çizersen işler çok basit olur. Network işi biraz karışıktır.

Önce şunu yapman lazım:

1. internetteki herhangi bir makinadan (örneğin cep telefonu ile 3g ile bağlayabilirsin laptopu) kendi dış ip'ne ping gönder, eğer cevap alabiliyorsan;
2. Evinde iç networkünde mesela 192.168.0.10 makinasına bir apache kur,
3. Modem içinde ayarlara bak, NAT ayarları var mı modem üzerinde onları kurcala, zaten nat ayarın yapılmamışsa iç networke giremezsin.
4. Modem üzerinde port forwarding özelliği var mı varsa nasıl yapılıyor ona bak. Port forwarding ayarlarında şu ip'den gelen istekleri şu interface'den şu makinanın şu portuna gönder gibi opsiyonlar olması lazım. Eğer ev tipi bir modemse olmayabilir. Zira böyle şeyler çok ciddi güvenlik açığı oluşturur.
5. Bu ayarları yapmaya çalış, yaptıktan sonra 3g ile bağlanmış makinadan dış ipnin 80. portuna telnet at. (telnet 212.233.33.234 80) eğer connected yazarsa erişimin var demektir. Yani tarayıcı üzerinden 212.233.33.234 yazdığında içerdeki apache çalışmış olur.
6 Eğer yoksa, traceroute komutu var eğer icmp paketlerine geçiş verilmişse yoldan geçtiğin firewallar üzerinde traceroute sana trafiğin nereye kadar gittiğini gösterir. windows üzerinde tracert linux kullanıyorsan traceroute komutu ile bu bilgileri alabilirsin.

traceroute 212.233.33.234 -p 80

Hani olmaz ama olurda eğer bir yerlede takılı kalıyorsan MTU değerini hop sayısını yükseltip oynayabilirsin. Gerçi default değerleri yeterli ama

içerdeki apache'ye ulaşırsan arkasından içerdeki trafiğe geçeriz. Zaten içersi kolay ne istediğini bildikten sonra alt tarafı iptables üzerine 3-5 kural girilecek.
İnsanoğluna bırakabileceğiniz en güzel miras tecrübelerinizdir.

cebecifaruk

İşi tamamen baştan alalım iyisi. Bayağı karışmış durumda. Çizimi attım. 3g gibi bir bağlantı kullanmıyorum. Çizimin en üstündeki Router hazır aldığım Uydunet Master Modem. Benim istediğim sağ tarafta çizdiğim PC'den 192.168.0.2:1024 yazarak Server2'nin (Beagle Bone --> 192.168.1.2) 80. portuna bağlanmak.

Çizim:




Bu arada  çizim fazlasıyla kötü fakat elimden gelen bu..
Saygılar..

WhiteScars

#22
serverfault'da şöyle demişler http://serverfault.com/questions/140622/how-can-i-port-forward-with-iptables

Seninkine yorumlarsak şöyle olacak. Bu şekildeyken çalışması lazım.  Prerouting gelen trafik için, post senden çıkan için. O yüzden prerouting kullanman lazım. Interface bazında trafik yönlendirmesi var. wlan0 üzerine 1024. porttan gelen trafiği 192.168.1.2 nin 80'ni portuna at diyor. Burdaki rule'lar doğru olması lazım test etmediğim için bilmiyorum ama bu olması lazım senin işini görecek rule.


iptables -t nat -A PREROUTING -p tcp -i wlan0 --dport 1024 -j DNAT --to-destination 192.168.1.2:80
iptables -A FORWARD -p tcp -d 192.168.1.2 --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT


iptables flush yapıp bunları girip tekrar aktif et bakalım ne olacak.
İnsanoğluna bırakabileceğiniz en güzel miras tecrübelerinizdir.

cebecifaruk

Alıntı yapılan: WhiteScars - 21 Haziran 2014 - 15:23:26
serverfault'da şöyle demişler http://serverfault.com/questions/140622/how-can-i-port-forward-with-iptables

Seninkine yorumlarsak şöyle olacak. Bu şekildeyken çalışması lazım.  Prerouting gelen trafik için, post senden çıkan için. O yüzden prerouting kullanman lazım. Interface bazında trafik yönlendirmesi var. wlan0 üzerine 1024. porttan gelen trafiği 192.168.1.2 nin 80'ni portuna at diyor. Burdaki rule'lar doğru olması lazım test etmediğim için bilmiyorum ama bu olması lazım senin işini görecek rule.


iptables -t nat -A PREROUTING -p tcp -i wlan0 --dport 1024 -j DNAT --to-destination 192.168.1.2:80
iptables -A FORWARD -p tcp -d 192.168.1.2 --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT



iptables flush yapıp bunları girip tekrar aktif et bakalım ne olacak.

Allah sizden razı olsun çok güzel çalıştı başka problemlerim olursa buraya yazarım yine.

Saygılar..

if

Sorun çözüldü mü @cebecifaruk?