گنو/لینوکس

تنظیم Bridge در گنو/لینوکس

نوشته شده توسط اروند طباطبایی

شبکه ی Bridge چیزی جز یک تکنیک ساده برای اتصال به یک شبکه ی خارجی از طریق یک واسط فیزیکی نیست. این تکنیک مخصوصاً برای ابزار های مجازی سازی مانند KVM، Xen، LXC و … بسیار مفید است. در این پست توضیح می‌دهیم که چگونه یک پل (Bridge) را با استفاده از ابزار brctl و در سیستم عامل اوبونتو تنظیم کنیم.

تصویر زیر شمایی کلی از یک شبکه ی دارای پل را نشان می دهد.

1

دستور زیر را برای نصب ابزار کنترل و تنظیم پل اجرا کنید :

$ sudo apt-get install bridge-utils

یا:

$ sudo apt install bridge-utils

خروجی:

2

 

ایجاد پل روی سرور:

از فایل /etc/network/interfaces یک نسخه ی پشتبان تهیه کرده و آن را در یک ویرایشگر متن مانند nano یا vim باز کنید:

$ sudo cp /etc/network/interfaces /etc/network/interfaces.bakup-1-july-2016
$ sudo vi /etc/network/interfaces

خوب باید eth1 را به عنوان br1 و eh0 را به عنوان br0 به سیستم معرفی کنیم! برای این کار در فایل ذکر شده تغییرات مناسب را طبق داده‌های زیر به وجود بیاورید(اطلاعات مربوط به eth0 و eth1 را حذف یا تبدیل به کامنت کنید)

# br1 setup with static wan IPv4 with ISP router as gateway
auto br1
iface br1 inet static
        address 208.43.222.51
        network 255.255.255.248
        netmask 255.255.255.0
        broadcast 208.43.222.55
        gateway 208.43.222.49
        bridge_ports eth1
        bridge_stp off
        bridge_fd 0
        bridge_maxwait 0
auto br0
iface br0 inet static
        address 10.18.44.26
        netmask 255.255.255.192
        broadcast 10.18.44.63
        dns-nameservers 10.0.80.11 10.0.80.12
        # set static route for LAN
	post-up route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.18.44.1
	post-up route add -net 161.26.0.0 netmask 255.255.0.0 gw 10.18.44.1
        bridge_ports eth0
        bridge_stp off
        bridge_fd 0
        bridge_maxwait 0

نکته‌ای که درباره br0 و DHCP وجود دارد این است که باید تنظیمات مربوط به DHCP را هم در فایل مذکور بیاورید:

auto br0
iface br0 inet dhcp
        bridge_ports eth0
        bridge_stp off
        bridge_fd 0
        bridge_maxwait 0

فایل را ذخیره کرده و ببندید.

سپس سرور یا سرویس شبکه را از نو راه اندازی کنید. برای راه اندازی مجدد سرویس شبکه می‌توانید از دستور زیر استفاده کنید(در یک سشن SSH اجرای دستور زیر ممکن است نا موفق باشد)

$ sudo systemctl restart networking

اگر از اوبونتو ۱۴.۰۴ یا ورژن های قدیمی تر آن، که بر پایه ی systemd نیستند استفاده می‌کنید باید دستور زیر را اجرا کنید:

$ sudo /etc/init.d/restart networking

برای اینکه مطمئن شوید اتصال با شبکه ی محلی و جهانی مشکلی ندارد می‌توانید از ابزار پینگ کمک بگیرید:

# See br0 and br1
ip a show
# See routing info
ip r
# ping public site
ping -c 2 cyberciti.biz
# ping lan server
ping -c 2 10.0.80.12

خروجی این دستور معمولاً چنین چیزی خواهد بود:

3

حال می‌توانید XEN/KVM/LXC را طوری تنظیم کنید که از br0 و br1 برای برقراری ارتباط بین سیستم عامل های مهمان یا اینترنت استفاده کنند و البته هیچ نیازی به تنظیم IPTable نخواهید داشت.

درباره نویسنده

اروند طباطبایی

بنیانگذار دیجی اسپارک: اولین مرجع تخصصی امبدد سیستم به زبان فارسی / کارشناس سئو و تولید محتوا

هرچه می آموزم میبینم که خیلی کم آموختم. علاقه به رباتیک و تکنولوژی دارم. امیدوارم بتونم دانشی را که آموخته‌ام، به روش‌های مختلفی به کاربران علاقمند منتقل کنم.

تبادل نظر و رفع عیب با ثبت دیدگاه

۱ دیدگاه