⭕️ عرض سلام، ادب و احترام خدمت تمامی متخصصین گرامی. امشب با Part-23 از آموزش دوره تخصصی COA در خدمت شما عزیزان خواهیم بود. با ما همراه باشید.
پیکربندی Virtual Networking با استفاده از VLAN
جهت پیکربندی شبکه مجازی توسط سرویس OpenStack Network یا Neutron، سناریوی شکل 55-14 را در نظر بگیرید که در آن Network Node دارای 3 اینترفیس و Compute Node نیز دارای 2 اینترفیس هستند.
جهت پیکربندی شبکه مجازی توسط سرویس OpenStack Network یا Neutron، سناریوی شکل 55-14 را در نظر بگیرید که در آن Network Node دارای 3 اینترفیس و Compute Node نیز دارای 2 اینترفیس هستند.
با فرض اینکه پیشتر پیکربندیهای اولیه بر روی هر سه سرور: Control Node، Network Node و Compute Node صورت گرفته است، در ادامه گامهای زیر را دنبال نمایید:
گام1: تغییر تنظیمات بر روی Control Node
برای این منظور فایل پیکربندی ml2_conf.ini را که در مسیر /etc/neutron/plugins/ml2 قرار دارد توسط ویرایشگر متنی vi باز کرده:
# vi /etc/neutron/plugins/ml2/ml2_conf.ini
و سپس پیکربندیهای زیر را در آن انجام دهید:
• در جلوی عبارت tenant_network_type یک مقدار (در اینجا "vlan") را اضافه نمایید:
[ml2]
type_drivers = flat,vlan,gre,vxlan
tenant_network_types = vlan
• در خط 207 و در زیر بخش [ml2_type_vlan] عبارت زیر را اضافه نمایید:
[ml2_type_vlan]
network_vlan_ranges = physnet1:1000:2999
در نهایت نیز فایل پیکربندی مزبور را ذخیر کرده و از آن خارج شوید و سپس توسط دستور زیر سرویس neutron-server را یکبار restart نموده تا تنظیمات و پیکربندیهای انجام شده اعمال شوند:
# systemctl restart neutron-server
گام1: تغییر تنظیمات بر روی Control Node
برای این منظور فایل پیکربندی ml2_conf.ini را که در مسیر /etc/neutron/plugins/ml2 قرار دارد توسط ویرایشگر متنی vi باز کرده:
# vi /etc/neutron/plugins/ml2/ml2_conf.ini
و سپس پیکربندیهای زیر را در آن انجام دهید:
• در جلوی عبارت tenant_network_type یک مقدار (در اینجا "vlan") را اضافه نمایید:
[ml2]
type_drivers = flat,vlan,gre,vxlan
tenant_network_types = vlan
• در خط 207 و در زیر بخش [ml2_type_vlan] عبارت زیر را اضافه نمایید:
[ml2_type_vlan]
network_vlan_ranges = physnet1:1000:2999
در نهایت نیز فایل پیکربندی مزبور را ذخیر کرده و از آن خارج شوید و سپس توسط دستور زیر سرویس neutron-server را یکبار restart نموده تا تنظیمات و پیکربندیهای انجام شده اعمال شوند:
# systemctl restart neutron-server
گام2: تغییر تنظیمات بر روی Network Node و Compute Node
ابتدا جهت ایجاد یک bridge با نام br-eth1 از دستور زیر استفاده میکنیم:
# ovs-vsctl add-br br-eth1
سپس جهت اضافه کردن اینترفیس eth1 به عنوان پورتی از bridge فوق، از دستور زیر کمک میگیریم:
# ovs-vsctl add-port br-eth1 eth1
ابتدا جهت ایجاد یک bridge با نام br-eth1 از دستور زیر استفاده میکنیم:
# ovs-vsctl add-br br-eth1
سپس جهت اضافه کردن اینترفیس eth1 به عنوان پورتی از bridge فوق، از دستور زیر کمک میگیریم:
# ovs-vsctl add-port br-eth1 eth1
در ادامه نیز فایل پیکربندی ml2_conf.ini را توسط ویرایشگر متنی vi باز کرده:
# vi /etc/neutron/plugins/ml2/ml2_conf.ini
و سپس پیکربندیهای زیر را در آن انجام میدهیم:
• در خط 115، مقدار vlan را در جلوی عبارت tenant_network_types = اضافه میکنیم:
[ml2]
type_drivers = flat,vlan,gre,vxlan
tenant_network_types = vlan
• در خط 207 و در زیر بخش [ml2_type_vlan] عبارت زیر را وارد کنید. در واقع توسط این دستور رنج VLANهایمان را تعریف میکنیم.
[ml2_type_vlan]
network_vlan_ranges = physnet1:1000:2999
و در نهایت فایل پیکربندی مزبور را ذخیره کرده و از آن خارج میشویم.
# vi /etc/neutron/plugins/ml2/ml2_conf.ini
و سپس پیکربندیهای زیر را در آن انجام میدهیم:
• در خط 115، مقدار vlan را در جلوی عبارت tenant_network_types = اضافه میکنیم:
[ml2]
type_drivers = flat,vlan,gre,vxlan
tenant_network_types = vlan
• در خط 207 و در زیر بخش [ml2_type_vlan] عبارت زیر را وارد کنید. در واقع توسط این دستور رنج VLANهایمان را تعریف میکنیم.
[ml2_type_vlan]
network_vlan_ranges = physnet1:1000:2999
و در نهایت فایل پیکربندی مزبور را ذخیره کرده و از آن خارج میشویم.
حال این بار فایل پیکربندی openvswitch_agent.ini را توسط ویرایشگر متنی vi باز نموده:
# /etc/neutron/plugins/ml2/openvswitch_agent.ini
و در خط 193 آن و در زیر بخش [ovs] عبارت زیر را اضافه میکنیم:
bridge_mappings = physnet1:br-eth1
در آخر نیز این فایل را نیز ذخیره کرده و از آن خارج میشویم و جهت اعمال تنظیمات و پیکربندیهای انجام شده هم میبایست توسط دستور زیر سرویس neutron-openvswitch-agent را یکبار restart نماییم:
# systemctl restart neutron-openvswitch-agent
# /etc/neutron/plugins/ml2/openvswitch_agent.ini
و در خط 193 آن و در زیر بخش [ovs] عبارت زیر را اضافه میکنیم:
bridge_mappings = physnet1:br-eth1
در آخر نیز این فایل را نیز ذخیره کرده و از آن خارج میشویم و جهت اعمال تنظیمات و پیکربندیهای انجام شده هم میبایست توسط دستور زیر سرویس neutron-openvswitch-agent را یکبار restart نماییم:
# systemctl restart neutron-openvswitch-agent
گام3: ایجاد و تعریف یک bridge برای شبکه خارجی بر روی Network Node
برای این منظور ابتدا دستورات زیر را اجرا کرده:
# ovs-vsctl add-br br-ext
# ovs-vsctl add-port br-ext eth2
در ادامه فایل پیکربندی l3_agent.ini را توسط ویرایشگر متنی vi باز نموده:
# vi /etc/neutron/l3_agent.ini
و بعد در خط 100 آن در جلوی عبارت external_network_bridge = مقدار br-ext را وارد نمایید:
external_network_bridge = br-ext
در نهایت فایل پیکربندی مزبور را ذخیره کرده و از آن خارج شوید. سپس توسط دستور زیر سرویس neutron-l3-agent را یکبار restart نموده تا تنظیمات و پیکربندیهای انجام شده اعمال شوند:
# systemctl restart neutron-l3-agent
برای این منظور ابتدا دستورات زیر را اجرا کرده:
# ovs-vsctl add-br br-ext
# ovs-vsctl add-port br-ext eth2
در ادامه فایل پیکربندی l3_agent.ini را توسط ویرایشگر متنی vi باز نموده:
# vi /etc/neutron/l3_agent.ini
و بعد در خط 100 آن در جلوی عبارت external_network_bridge = مقدار br-ext را وارد نمایید:
external_network_bridge = br-ext
در نهایت فایل پیکربندی مزبور را ذخیره کرده و از آن خارج شوید. سپس توسط دستور زیر سرویس neutron-l3-agent را یکبار restart نموده تا تنظیمات و پیکربندیهای انجام شده اعمال شوند:
# systemctl restart neutron-l3-agent
گام4: ایجاد یک روتر مجازی یا Virtual Router (این کار را میبایست بر روی هر یک از سه Node انجام داد) در اینجا فقط بر روی Control Node روتر مجازی را ایجاد خواهیم کرد. برای این منظور کافیست دستور زیر را اجرا نمایید:
# openstack router create router01
# openstack router create router01
گام5: ایجاد شبکه داخلی و ارتباط آن با روتر مجازی
جهت ایجاد یک شبکه داخلی یا internal network به نام int_net از دستور زیر استفاده میکنیم:
# openstack network create int_net
جهت ایجاد یک شبکه داخلی یا internal network به نام int_net از دستور زیر استفاده میکنیم:
# openstack network create int_net
حال جهت ایجاد یک Subnet در شبکه داخلی ایجاد شده میتوان از دستور زیر استفاده نمود:
# openstack subnet create subnet1 —network int_net \
—subnet-range 192.168.100.0/24 —gateway 192.168.100.1 \
—dns-nameserver 10.0.0.10
# openstack subnet create subnet1 —network int_net \
—subnet-range 192.168.100.0/24 —gateway 192.168.100.1 \
—dns-nameserver 10.0.0.10