Tổng quanKVM được biết đến là một cơ sở hạ tầng ảo hóa cho nhân Linux. KVM cũng cung cấp các mô hình mạng trong việc ảo hóa network. Các mô hình bao gồm: Show
Ở bài trước tôi đã giới thiệu về mô hình mạng linux-bridge. Ở bài viết này tôi sẽ giới thiệu về mô hình NAT trên KVM. Chuẩn bịMột máy chạy hệ điều hành CentOS 7 hoặc Ubuntu cài đặt KVM có một card mạng kết nối với internet và cài đặt một VM bên trong máy đó. Chú ý máy vật lý ở đây là máy cài KVM. Máy này có thể là một máy ảo nhưng ở đây ta coi nó như một server vật lý. Mô hìnhNếu như với mô hình linux bridge KVM tạo ra một virtual switch thì ta cũng có thể hình dung với mô hình mạng NAT này KVM sẽ tạo ra một thiết bị là virtual router. Khi ta tạo một dải mạng với mô hình NAT thì lúc này virtual router sẽ NAT từ dải mạng mà ta tạo ra ra địa chỉ của card mạng vật lý trên KVM host để đi ra ngoài internet. Khi một dải mạng tạo ra ta sẽ thấy trên KVM host xuất hiện một thêm một card mạng. Card mạng này đóng vai trò là gateway cho dải mạng mà ta tạo ra. Để hiểu rõ hơn về mô hình này cũng
như đường đi của gói tin từ VM ra ngoài internet tôi sẽ dùng lệnh Trên card Trên card Và trên card Như vậy ta có thể thấy như sau Như vậy VM có thể biết được địa chỉ ở bên ngoài internet nhưng các máy ở bên ngoài sẽ không thể thấy được VM. Như vậy địa chỉ của KVM host sẽ đại diện cho các VM khi giao tiếp với bên ngoài. Để thấy rõ hơn tôi sẽ sử dụng lệnh Các rule trong bảng NAT. Rule trong chain FORWARD Ta thấy được KVM host cho phép forward tất cả các gói tin của dải mạng này theo cả 2 chiều vào và ra. Tạo mô hình NAT trên KVMỞ đây tôi sử dụng công cụ Trước tiên bạn vào công cụ Đặt tên cho mạng bạn muốn tạo Chọn dải mạng và địa dải địa chỉ IP cấp phát cho VM nếu dùng cấp phát DHCP. Sau đó click Nếu bạn muốn sử dụng cả IPv6 thì click chọn ở đây. Ở đây tôi không sử dụng đến nó nên tôi không chọn Chỉ ra card mạng mà bạn muốn dùng nó để gắn vào virtual router để làm đường đi ra internet Vào trong VM kết nối đến mạng này sau đó reboot lại VM Ta có thể kiểm tra VM đã nhận đúng dải mạng Ping thử để kiểm tra xem mạng có hoạt động Như đã nói ở bên trên iptables có các rule để NAT địa chỉ mạng mạng này để ra ngoài. Bây giờ tôi thử xóa các rule trong bảng NAT đi Tôi dùng lệnh ping để kiểm tra lại hoạt động của mạng thì lúc này mạng này đã không thể ra được internet Tổng kếtBài viết có thể giúp bạn hiểu thêm về mô hình mạng NAT trong KVM. Trong bài viết chắc chắn còn nhiều thiếu sót rất mong được sự góp ý của các bạn. Chúc bạn thành công! Thực hiện bởi cloud365.vn Tổng quanKVM được biết đến là một cơ sở hạn tầng ảo hóa cho nhân Linux. KVM cũng cung cấp các mô hình mạng trong việc ảo hóa network. Các mô hình bao gồm:
Trong đó Chúng ta có thể thấy rằng có một con switch được tạo ra nằm bên trong của máy vật lý. Các VM kết nối đến đây để có thể liên lạc được với nhau. Nếu muốn liên lạc ra bên ngoài ta có thể kết nối con switch này với card mạng trên máy vật lý của ta (giống như ta dùng dây kết nối switch với router). Ta có thể kết nối switch với 1 hoặc nhiều port. Chú ý ta không thể kết nối switch ảo với card Chuẩn bịMột máy chạy hệ điều hành Centos7 hoặc Ubuntu đã cài KVM bên trong đó đã có một VM. Chú ý máy vật lý ở đây là máy cài KVM. Máy này có thể là một máy ảo nhưng ở đây ta coi nó như một server vật lý. Cấu trúc linux bridgeTrong đó:
Switch ảo do Linux bridge tạo ra có chức năng tương tự với 1 con switch vật lý. Ta có thể thấy rõ hơn cách kết nối của VM ra ngoài internet. Khi máy vật lý của ta có card mạng kết nối với internet(không phải card wireless). Trên switch ảo của ta sẽ phải có đường để kết nối ra ngoài internet(cụ thể là kết nối với card mạng của máy vật lý). Ta có thể hình dung card mạng trên máy vật lý sẽ được gắn trực tiếp vào switch ảo nên ta có thể thấy sau khi add switch ảo và card vật lý có cùng địa chỉ MAC. Và trên card vật lý sẽ không còn địa chỉ IP mà nó được gắn cho switch ảo. Và bây giờ trên các VM muốn giao tiếp với nhau hoặc ra ngoài internet ta chỉ cần kết nối VM đó với switch ảo. Lúc này card mạng trên VM sẽ được gắn với 1 cổng của switch ảo thông qua tap interface và cổng này có tên là Khi ta kết nối vào switch ảo các VM sẽ nhận địa chỉ IP cùng với dải địa chỉ IP của card mà ta add và switch và các địa chỉ IP này sẽ được cấp bởi dịch vụ DHCP trên router. Địa chỉ của card mạng gắn với switch ảo Địa chỉ của VM kết nối với switch ảo Với mô hình này gói tin bên trong VM đi ra ngoài mạng sẽ đi từ VM đến thẳng card vật lý gắn với switch ảo và đi ra ngoài mạng. Tạo và quản lý linux bridgeĐể tạo một linux bridge(switch ảo) ta
dùng lệnh Tiếp theo là bước add card mạng cho switch dùng lệnh
Để kiểm tra những swtich ảo trên máy và những card đã được add vào switch ảo đó ta dùng lệnh Tiếp sau đó ta tiến hành xin cấp IP cho NIC. Ta dùng các câu
lệnh sau để xóa IP của card ens9 Sau đó xin cấp IP cho bridge bằng lệnh Lưu ý hai câu lệnh trên chỉ có hiệu lực đến khi ta reboot lại máy vật lý. Để VM có thể nhận được địa chỉ IP ngay cả khi server vật lý bị reboot ta thực hiện ghi các dòng như sau vào file
Sau đó tiến hành chạy lênh Và bây giờ ta có thể thấy Khi chưa dùng 2 câu lệnh trên Sau khi dùng 2 lệnh trên Bây giờ trên VM có thể kết nối với switch ảo đó. Ta có thể thấy VM đã nhận IP Mô hình vừa tạo như sau Tổng kếtĐến đây ta đã tạo được mô hình mạng linux bridge và đã đã kết nối VM vào với mô hình mạng đó. Trong bài viết chắc chắn còn nhiều thiếu sót rất mong được sự góp ý của các bạn. Chúc bạn thành công! Tài liệu tham khảo https://cloudbuilder.in/blogs/2013/12/08/tap-interfaces-linux-bridge/ https://github.com/hocchudong/Linux-bridge Thực hiện bởi cloud365.vn |