Thiết lập ip tĩnh, card mạng ưu tiên, thiết lập route trên Centos 7

Thiết lập ip tĩnh, card mạng ưu tiên, thiết lập route trên Centos 7

Trong thực tế, hầu hết các VPS, server thường chỉ có một card mạng. Nhưng đôi khi, nhất là trong các máy test thường có nhiều card mạng.

Như ví dụ trong bài này, VPS của mình có 2 card mạng là ens192 và ens224 đi ra 2 đường mạng khác nhau. Ens192 đi ra đường mạng 192.168.1.120/24 để ra ngoài internet, đường mạng ens224 có ip 10.224.48.94/24 để sử dụng trong mạng nội bộ. Cả 2 card mạng này đều đang nhận ip động (dynamic).

Bây giờ yêu cầu của mình là đặt 2 ip tĩnh cho 2 card mạng này. Thiết lập card mạng ens192 có độ ưu tiên (metric) cao hơn ens224. Thiết lập các kết nối vào dải ip nội bộ thông qua card mạng ens224.

Có nhiều cách để giải quyết vấn đề này. Riêng mình thì mình chọn cách sửa nội dung các file /etc/sysconfig/network-scripts/ifcfg-ens192/etc/sysconfig/network-scripts/ifcfg-ens224 và thêm một file route nữa trong thư mục /etc/sysconfig/network-scripts cho card mạng ens224.

Sở dĩ mình làm các như trên vì nó không bị reset lại khi mình khởi động lại VPS.

1 . Thiết lập ip tĩnh và metric cho các card mạng

Đầu tiên mình sửa file /etc/sysconfig/network-scripts/ifcfg-ens192 bằng lệnh sau:

vi /etc/sysconfig/network-scripts/ifcfg-ens192

Trong giao màn hình của Visual, ta nhấn i để vào chế độ chỉnh sửa và thêm đoạn sau vào cuối của nội dung file:

IPV4_ROUTE_METRIC=10
IPADDR=192.168.1.120
PREFIX=24
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4

Và tìm đến dòng

BOOTPROTO=dhcp

sửa thành

BOOTPROTO=none

Sau khi sửa thì file có nội dung như sau:

Thiết lập ip tĩnh và metric cho các card mạng

 

Giải thích 1 chút về các câu dòng lệnh trên:

  • Dòng IPV4_ROUTE_METRIC=10 là dòng thiết lập độ ưu tiên của card mạng, vì mình muốn mạng ens192 này sẽ là mặc định nên đặt số khá thấp. Sau này mình sẽ đặt metric cho card mạng còn lại (ens224) có metric cao hơn. Như vậy hệ thống sẽ ưu tiên card mạng có metric thấp, vậy nên ens192 sẽ trở thành card mạng được ưu tiên hơn.
  • Các dòng còn lạiIPADDR=192.168.1.120
    PREFIX=24
    GATEWAY=192.168.1.1
    DNS1=8.8.8.8
    DNS2=8.8.4.4

    Là các thiết lập về ip cho card mạng mạng này. Minh để ip mặc định là 192.168.1.120/24 với gateway là 192.168.1.1 và DNS thì dùng của google 8.8.8.8/8.8.4.4
  • Dòng BOOTPROTO=dhcp chuyển thành BOOTPROTO=none là để thiết lập ip static, ko dùng dhcp

Sau khi sửa xong file, các bạn nhấn ESC và nhập lệnh :wq để chương trình Visual lưu nội dung file lại nhé.

Mình sẽ làm tương tự như vậy với card mạng còn lại, nhưng mình sẽ đặt metric của nó là 100. Bước này tương tự như bên trên nên mình bỏ qua nhé. Mọi người tự suy luận từ bên trên nhé 😀

2 . Thiết lập route cho card mạng trong Centos 7.

Như vậy, nếu đến đây mình reboot lại VPS hoặc restart lại network service thì 2 card mạng sẽ nhận ip tĩnh như đã thiết lập bên trên, và card mạng ưu tiên là ens192.

Tuy nhiên có 1 vấn đề, hiện tại mình đang dùng mạng local để truy cập vào VPS (thông qua card mạng ens224), mà giờ mình lại set card mạng mặc định là ens192 rồi, vậy thì mình sẽ không vào được nữa. Hoặc mình phải đổi qua kết nối cùng với dải mạng của ens192 để truy cập VPS. Mà mình không muốn làm như vậy, cho nên mình sẽ tạo route cho ens224 bằng lệnh như sau:

vi /etc/sysconfig/network-scripts/route-ens224

Trong giao diện của Visual các bạn lại nhấn i để vào chế độ insert của Visual. Sau đó nhập nội dung

10.224.48.0/24 via 10.224.48.1 dev ens224

Sau khi sửa xong file, các bạn lại nhấn ESC và nhập lệnh :wq để lưu nội dung file lại.

Giải thích một chút. File route-ens224 trong thư mục /etc/sysconfig/network-scripts/ là file định tuyến (route) cho card mạng ens224. Tương tự như vậy, các bạn có thể tạo các file khác để định tuyến cho các card mạng tương ứng với tên file tương ứng. Ví dụ như mình cũng có thể thêm file định tuyến (route) cho card mạng ens192 bằng cách tạo file /etc/sysconfig/network-scripts/ens192 và khai báo định tuyến cho nó trong file này. Tuy nhiên, trong trường hợp này là không cần thiết vì card mạng ens192 đã được mình thiết lập thành card mạng mặc định bằng cách set metric ở bên trên rồi.

Còn nội dung ở trong file route-ens224 thì hiểu đơn giản là mọi kết nối đi và đến giải ip 10.224.48.0/24 thì đều phải thông qua gateway 10.224.48.1 của card mạng ens224

3 . Khởi động lại network service và kiểm tra ip.

Sau khi sửa xong 2 file này. Mình khởi động lại service mạng của hệ thống

service network restart

Rồi dùng lệnh

ip a

và lệnh

route

Để kiểm tra lại cấu hình mạng

 

Như các bạn thấy, các card mạng đã nhận đúng ip như đã thiết lập và card mạng ens192 có metric là 10, cao hơn metric của ens224 là 100.

Lưu ý: khi các bạn dùng lệnh route có thể báo bash: route: command not found. Đó là vì Centos 7 mặc định ko hỗ trợ nettool. Bạn hãy cài đặt nettool bằng lệnh sau:

yum install net-tools -y

Vậy là mình đã hướng dẫn các bạn thiết lập ip tĩnh, card mạng mặc định và định tuyến cho các card mạng trên Centos 7 rồi.

Chúc các bạn thành công

 

Share This Post

Post Comment