گام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;
در آخر فایل پیکربندی مزبور را ذخیره کرده و از آن خارج شوید.
ابتدا دستور زیر را اجرا نموده:
# 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;
در آخر فایل پیکربندی مزبور را ذخیره کرده و از آن خارج شوید.
حال دستورات زیر را اجرا نمایید:
# 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
# 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
گام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
# 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
گام1: نصب Neutron Serviceها بر روی Compute Node
گام3: اگر سرویس SELinux بر روی سرور شما فعال است، میبایست Policyهای زیر را تغییر دهید.