কিভাবে লিনাক্সে একটি সুইচ করতে


1

আমার আছে এটা ক্লিয়ারফগ প্রো একটি armbian ইমেজ সঙ্গে রাউটার বোর্ড। আমি কি করতে চাই 6 রাস্পবেরী পাই ইন্টারনেটের সাথে ক্লিয়ারফগ প্রো এর মাধ্যমে যুক্ত আছে। শেষ পর্যন্ত আমি সব 7 কম্পিউটারের আইপি ঠিকানা চাই যাতে আমি তাদের প্রত্যেকের মধ্যে বলতে পারি। ইন্টারনেট পড়ার পর আমি দেখেছি যে এটি করার জন্য আমাকে একটি নেটওয়ার্ক সেতু সেটআপ করতে হবে।

আমি প্রথমে এই কনফিগারেশন চেষ্টা এখানে । কিন্তু তারা আমার জন্য কাজ করে নি।

এটি আমার / etc / network / ইন্টারফেস ফাইলের বর্তমান কনফিগারেশন

auto lo br0 eth1 lan1
iface lo inet loopback

iface br0 inet dhcp
  bridge_ports eth0 lan1

এই আউটপুট হয় ip link

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: bond0: <BROADCAST,MULTICAST,MASTER> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000 link/ether fe:cc:39:e2:0e:81 brd ff:ff:ff:ff:ff:ff
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br0 state UP mode DEFAULT group default qlen 532 link/ether 00:50:43:25:fb:84 brd ff:ff:ff:ff:ff:ff
4: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 532 link/ether 00:50:43:84:25:2f brd ff:ff:ff:ff:ff:ff
5: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 532 link/ether 00:50:43:0d:19:18 brd ff:ff:ff:ff:ff:ff
6: tunl0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN mode DEFAULT group default qlen 1 link/ipip 0.0.0.0 brd 0.0.0.0
7: lan1@eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br0 state UP mode DEFAULT group default qlen 1000 link/ether 00:50:43:84:25:2f brd ff:ff:ff:ff:ff:ff
13: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000 link/ether 00:50:43:25:fb:84 brd ff:ff:ff:ff:ff:ff

এবং ip route

    192.168.178.0/24 dev br0  proto kernel  scope link  src 192.168.178.44 

তাই আমি মধ্যে ssh করার চেষ্টা 192.168.178.44 মনে হচ্ছে এটি আমাকে lan1 তে কম্পিউটারে নিয়ে যাবে কিন্তু এটি হয়নি। আমি আবার ক্লিয়ারফগ সংযুক্ত।

আমি eth1 এবং eth0 সেতু চেষ্টা কিন্তু এটি ফিরে can't add eth1 to bridge br0: Invalid argument

তাই আমার প্রশ্ন হল: সঠিক সেতু সেটআপ কি?

সম্পাদনা করুন: অনুরোধ হিসাবে আমার brctl show

bridge name bridge id       STP enabled interfaces
br0         8000.00504325fb84   no      eth0
                                        lan1

ifconfig

br0    Link encap:Ethernet  HWaddr 00:50:43:25:fb:84  
      inet addr:192.168.178.44  Bcast:192.168.178.255  Mask:255.255.255.0
      inet6 addr: fe80::250:43ff:fe25:fb84/64 Scope:Link
      inet6 addr: 2001:984:6433:1:250:43ff:fe25:fb84/64 Scope:Global
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:572 errors:0 dropped:0 overruns:0 frame:0
      TX packets:86 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:147582 (144.1 KiB)  TX bytes:11762 (11.4 KiB)

 eth0      Link encap:Ethernet  HWaddr 00:50:43:25:fb:84  
      inet addr:192.168.178.44  Bcast:192.168.178.255  Mask:255.255.255.0
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:1225 errors:0 dropped:0 overruns:0 frame:0
      TX packets:118 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:532 
      RX bytes:318910 (311.4 KiB)  TX bytes:15514 (15.1 KiB)
      Interrupt:38 

 eth1      Link encap:Ethernet  HWaddr 00:50:43:84:25:2f  
      UP BROADCAST MULTICAST  MTU:1500  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:532 
      RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
      Interrupt:39 

lan1      Link encap:Ethernet  HWaddr 00:50:43:84:25:2f  
      UP BROADCAST MULTICAST  MTU:1500  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:1000 
      RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

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:65536  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:1 
      RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

এবং ip route show

default via 192.168.178.1 dev br0 
192.168.178.0/24 dev br0  proto kernel  scope link  src 192.168.178.44 
192.168.178.0/24 dev eth0  proto kernel  scope link  src 192.168.178.44 

আপনি আমাকে নিম্নলিখিত কমান্ডের আউটপুট প্রদর্শন করতে পারেন: ifconfig, brctl show, ip রুট শো
Gregory Wolf

আপনি আপনার ভান ইন্টারফেস আপনার ল্যান সেতু করতে চান না, যে রাউটিং জন্য হয়। আপনি তাদের আলাদা হতে চান। একটি সেতু একটি হার্ডওয়্যার সুইচ অনুরূপ কাজ করে।
Gregory Wolf

@GregoryWolf আমি কিভাবে আমার লক্ষ্য অর্জন করা উচিত? আমি কখনও কখনও ভুল পদ ব্যবহার যদি দুঃখিত। আমি নেটওয়ার্কিং একটি শিক্ষানবিশ
Maarten de Klerk

উত্তর:


1

শুধু তাই যে আমি সঠিকভাবে বুঝতে পারি, আপনার কাছে 6 টি RPi এর একটি সুইচ সংযুক্ত রয়েছে যা ক্লিয়ারফগের সাথে সংযুক্ত রয়েছে। আপনি কেবল RPI এর প্রতিটিের সাথে যোগাযোগ করতে সক্ষম হোন এবং সেইসাথে পরিষ্কারফ্রফের মাধ্যমে ইন্টারনেট অ্যাক্সেস করতে পারবেন। আমি এখন থেকে সাফ হিসাবে Clearfrog পড়ুন করব।

এখন আসুন আপনার আইপি লিঙ্কগুলি দেখুন:

1: lo <- loopback
2: bond0 <- special interface for traffic aggregation/bonding
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> <- Assuming this is your uplink
4: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> <- Assuming this is physically connected to your switch
5: eth2: <BROADCAST,MULTICAST>  <- Assuming this is inactive
6: tunl0@NONE: <NOARP> <- Tunnel interface for vpn
7: lan1@eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> <- Lan1 isn't physical, it's a VLAN inteface.
13: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> <- bridge interface you created

আমার রাউটার WAN পার্শ্বে একটি পাবলিক আইপি ঠিকানা পাবে নাকি এটি অন্য গেটওয়েয়ের পিছনে থাকবে তা যদি আমার কাছে স্পষ্ট না হয়। যদি এটি অন্য গেটওয়েয়ের পিছনে থাকে, তবে আপনার RPI একটি আলাদা সাবনেটে থাকা এবং আপনার জন্য ট্র্যাফিক রুট করার জন্য সিএফকে নির্দেশ দিতে হবে।

উদাহরণস্বরূপ SO:

*internets*
   ^
|modem| -> |gateway| -> |    switch    |
                        ^    ^    ^    ^         
   192.168.178.0/25     PC1  PC2  PC3  CF           Primary Network
                                       ^
                                  |   switch    |
                                  ^  ^  ^  ^  ^  ^
   192.168.178.128/25             Pi Pi Pi Pi Pi Pi    Pi Network

আমি আপনার প্রাথমিক নেটওয়ার্কের সাবনেট 192.168.178.0/25 বরাদ্দ করেছি যা ব্যবহারযোগ্য পরিসর থাকবে .1-.126; আমি আপনার Pi নেটওয়ার্কে 192.168.178.128/25 সাবনেট বরাদ্দ করেছি, যা একটি ব্যবহারযোগ্য পরিসর থাকবে। 129-.254

আমি মনে করি আপনি কি করার আগে চেষ্টা করছেন একসাথে দুই অ্যাডাপ্টার সেতু ছিল। যখন আপনার দুটি অ্যাডাপ্টারের পিছনে একাধিক হোস্ট থাকে যার সাথে ম্যাক ঠিকানা থাকে তবে আপনাকে করতে হবে প্রমাথী , ব্রিজিং না।

সব পরে, এই একটি রাউটার হয় না? Questestion "একটি সুইচ কিভাবে তৈরি করা" ছিল, কিন্তু আপনি এই নেটওয়ার্ক ব্যবহার করে দুটি নেটওয়ার্ক মধ্যে ট্রাফিক নিয়ন্ত্রণ করতে না? অন্যথা, আপনি সিএফটি মুছে ফেলতে এবং মুঠোফোনে সরিয়ে ফেলতে পারেন, কোনও এমবেডেড লিনাক্স প্রয়োজন নেই।

Br0 অপসারণ করতে:

    brctl show | awk '{if(NR>1)print}' | awk '{print $NF}' | while read line ; do brctl delif br0 $line ; done

ifconfig br0 down

brctl delbr br0

পরবর্তী, রাউটার জিনিস করতে রাউটার প্রস্তুত।

সম্পাদনা / ইত্যাদি / নেটওয়ার্ক / ইন্টারফেস

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
       address 192.168.178.126
       network 192.168.178.0
       netmask 255.255.255.128
       gateway 192.168.178.1
       broadcast 192.168.178.127

auto eth1
iface eth1 inet static
       address 192.168.178.129
       network 192.168.178.128
       netmask 255.255.255.128
       broadcast 192.168.178.255   

তারপর /etc/sysctl.conf সম্পাদনা করুন এবং ফরওয়ার্ডিং সক্ষম করুন। আপনি সত্যিই শুধুমাত্র প্রয়োজন প্রথম লাইন, কিন্তু আমি রাউটারের জন্য সাধারণত এটি ব্যবহার করি:

net.ipv4.conf.all.forwading=1
net.ipv4.conf.default.accept_source_route = 1
net.ipv4.tcp_synack_retries = 2
net.ipv4.conf.all.send_redirects = 1                                                                                                                                                                                                         
net.ipv4.conf.default.send_redirects = 1                                                                                                                                                                                                                                                                                                                                                                                                            
net.ipv4.conf.all.accept_source_route = 1                                                                                                                                                                                                                                                                                                                                                                                                     
net.ipv4.conf.all.accept_redirects = 1                                                                                                                                                                                                       
net.ipv4.conf.all.secure_redirects = 1         

তারপর রান: sysctl -p

এখন আমরা রুট যোগ করতে যাচ্ছি। আমি একটি আইপি রুট সব ফ্লাশ সঞ্চালনের পরামর্শ দিতে যাচ্ছি, তবে আপনি যখন এটি করবেন তখন কনসোলে থাকতে চান কারণ এটি অবিলম্বে ssh থেকে আপনাকে সংযোগ বিচ্ছিন্ন করবে।

ip route flush all
ip rule flush
ip route add 192.168.178.0/25 via 192.168.178.1 dev eth0
ip route add 192.168.178.128/25 src 192.168.178.129
ip route add default via 192.168.178.1 dev eth0

এখন আপনি আপনার প্রাথমিক নেটওয়ার্ক রাউটারে যান এবং স্ট্যাটিক রুট যোগ করতে চান: 192.168.178.128/25 এর মাধ্যমে 19২.168.178.129 এটি আপনার প্রধান গেটওয়ে / রাউটারকে বলে যে যখন অভ্যন্তরীণ নেটওয়ার্কের একটি হোস্ট আপনার RPi নেটওয়ার্কে সংযোগ করতে চায়, তখন অনুরোধটি সিএফ (গেটওয়ে হিসাবে অভিনয়) করতে এগিয়ে যাওয়ার জন্য অনুরোধ করুন।

সিএফ এ ফিরে আসি, শেষ জিনিস আমি iptables এ ফরওয়ার্ডিং নিয়ম যুক্ত করব:

#Allow rpi's to connect to the outside world but not initiate new connections to hosts on your primary network
iptables -I FORWARD -i eth1 -o eth0 -s 192.168.178.128/25 ! -d 192.168.178.0/25  -m conntrack --ctstate NEW -j ACCEPT
# Allow forwarding for established connections
iptables -I FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
# Allow hosts on your primary network to initiate new connections to pi's
iptables -I FORWARD -i eth0 -o eth1 -s 192.168.178.0/25 -d 192.168.178.128/25  -m conntrack --ctstate NEW -j ACCEPT

আপনি iptables-save & gt; দিয়ে এই নিয়মগুলি সংরক্ষণ করতে চান। /etc/iptables/rules.v4

এখন আপনি পিআই এর আইপি নিযুক্ত করতে সিএফ-এ একটি dhcp সার্ভারের প্রয়োজন হবে অথবা আপনাকে তাদের স্ট্যাটিক ঠিকানাগুলি বরাদ্দ করতে হবে। উভয় ক্ষেত্রে, আপনি CF এর আইপি 192.168.178.129 এ তাদের ডিফল্ট গেটওয়ে সেট করতে চান

যে আপনি প্রয়োজন হতে হবে। যদি আপনার কোন সমস্যা থাকে তবে মন্তব্য করতে বিনা দ্বিধায় থাকুন এবং আমি আপনাকে যতটা সম্ভব সর্বোত্তম সাহায্য করব।


আপনি আমার প্রধান রাউটার স্ট্যাটিক রুট জন্য গেটওয়ে 192.168.178.129 হতে হবে বলে। কিন্তু প্রধান রাউটার কি সেই সাবনেটের অংশ নয়? 19২.168.178.1২6 না হওয়া উচিত?
Maarten de Klerk

0

আপনার নেটওয়ার্ক / ইন্টারফেস ফাইলের মধ্যে:

auto lo br0 eth1 lan1
iface lo inet loopback

iface br0 inet dhcp
bridge_ports eth0 lan1

এটা কিছু জিনিস আলাদা করতে সাহায্য করে

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet manual
auto br0
iface br0 inet static #or dhcp
address <your address>
netmask  255.255.255.0
gateway  <your gateway>
bridge_ports eth1
bridge_stp off
bridge_fd 0

আশাকরি এটা সাহায্য করবে


আমি সেতুতে eth1 যুক্ত করার চেষ্টা করেছি কিন্তু এটি এই ত্রুটিটি ফিরিয়ে দিয়েছে: can't add eth1 to br0: invalid argument
Maarten de Klerk

@ ম্যারাটেনেন্ডক্লার্ক আমি এটা সংশোধন করেছি। sry
archae0pteryx

আমি নিশ্চিত lan1 একটি Vlan ট্যাগ।
Gregory Wolf
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.