Iran Open Source (IOS)
2.63K subscribers
6.69K photos
147 videos
1.69K files
1.16K links
کانال IOS:
💎 امنیت سایبری، امنیت اطلاعات، امنیت شبکه
💎 دوره‌های تخصصی شبکه، امنیت و دیتاسنتر
💎 مجازی‌سازی، پردازش ابری و ذخیره سازی
💎 معرفی کتاب
💎 اخبار IT، امنیت، هک و نفوذ

🌀 مدیر کانال: میثم ناظمی
@Meysam_Nazemi

🌀 مدیر تبلیغات: @MoNaITCU
Download Telegram
گام2: پیکربندی به عنوان Network Node
ابتدا توسط دستور زیر از فایل پیکربندی neutron.conf یک کپی از فایل اصلی پیکربندی سرویس Neutron تهیه نموده تا در صورتیکه هر گونه مشکلی برای آن پیش آمد، بتوان از فایل اصلی استفاده نمود:
# mv /etc/neutron/neutron.conf /etc/neutron/neutron.conf.org

در ادامه فایل پیکربندی را توسط ویرایشگر متنی vi باز کرده:
# vi /etc/neutron/neutron.conf

و بعد خطوط زیر را در آن اضافه نمایید:
# create new
[DEFAULT]
core_plugin = ml2
service_plugins = router
auth_strategy = keystone
state_path = /var/lib/neutron
allow_overlapping_ips = True
# RabbitMQ connection info
transport_url = rabbit://openstack:[email protected]

# Keystone auth info
[keystone_authtoken]
auth_uri = https://10.0.0.30:5000
auth_url = https://10.0.0.30:35357
memcached_servers = 10.0.0.30:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = servicepassword

[oslo_concurrency]
lock_path = $state_path/lock

در آخر نیز فایل پیکربندی مزبور را ذخیره کرده و از آن خارج شوید.
شکل 38-13
حال دستورات زیر را به منظور اعمال دسترسی و تغییر گروه به فایل پیکربندی neutron.conf وارد نمایید:
# chmod 640 /etc/neutron/neutron.conf
# chgrp neutron /etc/neutron/neutron.conf

در ادامه می‌بایست چهار فایل را پیکربندی نمایید:
# vi /etc/neutron/l3_agent.ini

# line 17: add
interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver

# line 100: add ( it's OK with no value (set later if need) )
external_network_bridge =

# vi /etc/neutron/dhcp_agent.ini

# line 17: add
interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver

# line 32: uncomment
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq

# line 41: uncomment and change
enable_isolated_metadata = True

# vi /etc/neutron/metadata_agent.ini

# line 22: uncomment and specify Nova API server
nova_metadata_ip = 10.0.0.30

# line 34: uncomment and specify any secret key you like
metadata_proxy_shared_secret = metadata_secret

# vi /etc/neutron/plugins/ml2/ml2_conf.ini

# line 114: add ( it's OK with no value for "tenant_network_types" (set later if need) )
[ml2]
type_drivers = flat,vlan,gre,vxlan
tenant_network_types =
mechanism_drivers = openvswitch,l2population
extension_drivers = port_security

# line 247: uncomment and add
enable_security_group = True
firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver

# end line: uncomment
enable_ipset = True
شکل 39-13
گام3: اگر سرویس SELinux بر روی سرور شما فعال است، می‌بایست Policyهای آن را بصورت زیر تغییر دهید:
ابتدا دستور زیر را اجرا نموده:
# setsebool -P neutron_can_network on

و بعد فایل پیکربندی neutron-net_pol.te را توسط ویرایشگر متنی vi باز (ایجاد) کرده:
# vi neutron-net_pol.te

و سپس خطوط زیر را در آن وارد نمایید:
# create new
module neutron-net_pol 1.0;

require {
type sysfs_t;
type http_port_t;
type neutron_t;
type neutron_tmp_t;
type hostname_exec_t;
type ovsdb_port_t;
type openvswitch_t;
type openflow_port_t;
class file { execute execute_no_trans getattr open read };
class dir search;
class sock_file { create write unlink getattr setattr };
class tcp_socket { name_bind name_connect };
class filesystem getattr;
}

#============= neutron_t ==============
allow neutron_t neutron_tmp_t:sock_file create;
allow neutron_t http_port_t:tcp_socket name_bind;
allow neutron_t sysfs_t:filesystem getattr;
allow neutron_t neutron_tmp_t:sock_file { create write getattr unlink setattr };
allow neutron_t openflow_port_t:tcp_socket name_bind;

#============= openvswitch_t ==============
allow openvswitch_t neutron_t:file { getattr open read };
allow openvswitch_t ovsdb_port_t:tcp_socket name_bind;
allow openvswitch_t hostname_exec_t:file { execute execute_no_trans getattr open read };
allow openvswitch_t neutron_t:dir search;

در آخر فایل پیکربندی مزبور را ذخیره کرده و از آن خارج شوید.
شکل 40-13
حال دستورات زیر را اجرا نمایید:
# checkmodule -m -M -o neutron-net_pol.mod neutron-net_pol.te
# semodule_package —outfile neutron-net_pol.pp —module neutron-net_pol.mod
# semodule -i neutron-net_pol.pp
شکل 41-13
گام4: در آخر کافیست یک Soft Link از فایل پیکربندی ml2_conf.ini به plugin.ini ایجاد نموده و سپس سرویس openvswitch را جهت اجرا start و به منظور اجرای خودکار در پروسه‌های boot بعدی enable نمایید:
# ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
# systemctl start openvswitch
# systemctl enable openvswitch

در نهایت نیز دستورات زیر را اجرا کنید:
# ovs-vsctl add-br br-int
# for service in dhcp-agent l3-agent metadata-agent openvswitch-agent; do
systemctl start neutron-$service
systemctl enable neutron-$service
done
اما به منظور پیکربندی سرور سوم یعنی Compute Node در سناریو شکل 27-13، کافیست تا گام‌های زیر را دنبال نمایید، از آنجاییکه دستورات بسیار شبیه دستورات مرحله قبل هستند، بنابراین از توضیح اضافه در مورد آنها اجتناب خواهیم کرد:

گام1: نصب Neutron Serviceها بر روی Compute Node
گام2: پیکربندی به عنوان یک Compute Node
شکل 42-13
شکل 43-13