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
گام5: جهت start کردن Neutron Server
# ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
# su -s /bin/bash neutron -c "neutron-db-manage —config-file /etc/neutron/neutron.conf —config-file /etc/neutron/plugin.ini upgrade head"
# systemctl start neutron-server
# systemctl enable neutron-serve
# systemctl restart openstack-nova-api
گام6: اگر فایروال Firewalld بر روی سرور شما در حال اجراست، توسط دستورات زیر به پورت 9696/TCP اجازه عبور دهید:
# firewall-cmd —add-port=9696/tcp —permanent
# firewall-cmd —reload
در ادامه می‌بایست جهت پیکربندی Neutron Serviceها بر روی Network Node گام‌های زیر را نیز به ترتیب دنبال نمایید، چون این گام‌ها تقریباً مشابه گام‌های قبل هستند بنابراین از توضیح اضافه در مورد آنها خودداری خواهیم کرد:

گام1: نصب Neutron Serviceها بر روی Network Node
برای این منظور با فرض اینکه repositoryهای EPEL و Ocata را پیشتر بر روی سرور Network Node خود نصب نموده‌اید، کافیست دستور زیر را اجرا نمایید:
# yum —enablerepo=centos-openstack-ocata,epel -y install openstack-neutron openstack-neutron-ml2 openstack-neutron-openvswitch
شکل 33-13
شکل 34-13
شکل 35-13
شکل 36-13
شکل 37-13
گام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