Cách cấu hình VPS CentOS chạy nhiều IP

Created: Tháng Mười Một 5, 2018 | Last Updated: Tháng Mười Một 5, 2018 | : Không có phản hồi

Author:


Khi bạn cài đặt một server chạy hệ điều hành Linux (CentOS, Ubuntu…) mà muốn sử dụng nhiều IP cùng một subnet thì đơn giản bạn chỉ cần add thêm card mạng hoặc cấu hình sub-interface và thêm IP vào, các IP sẽ hoạt động hoàn toàn bình thường. Nhưng các IP khác subnet thì lại là một câu chuyện khác.

Vì vậy lúc này chúng ta sẽ cần phải làm thêm một vài thao tác định tuyến, chỉ lại đường đi cho từng subnet trên server.

Ở đây ta có một Server Linux có 2 Card mạng có IP thuộc 2 subnet khác nhau (Một dải .85.0/24 và một dải .86.0/24).

103.81.85.162/24 được gán cho eth0

103.81.86.123/24 được gán vào eth1

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether fa:16:3e:26:ae:f2 brd ff:ff:ff:ff:ff:ff
inet 103.81.85.162/24 brd 103.81.85.255 scope global dynamic eth0
valid_lft 76005sec preferred_lft 76005sec
inet6 fe80::f816:3eff:fe26:aef2/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether fa:16:3e:8d:04:ed brd ff:ff:ff:ff:ff:ff
inet 103.81.86.123/24 brd 103.81.86.255 scope global dynamic eth1
valid_lft 76005sec preferred_lft 76005sec
inet6 fe80::f816:3eff:fe8d:4ed/64 scope link
valid_lft forever preferred_lft forever

Các bước thực hiện như sau:

Tạo entry cho eth0 và eth1 trong bảng rt_table bằng lệnh:

echo "10 eth0" >>/etc/iproute2/rt_tables

echo "11 eth1" >>/etc/iproute2/rt_tables

Lưu ý mỗi một card mạng bạn sẽ điền 1 số khác nhau, 10 của eth0 còn 11 là của eth1.

Sau đó ta viết route cho 2 card mạng vừa rồi. Ta gõ : vi route.sh , sau đó viết vào nội dung sau.

#!/bin/bash
ip route add 103.81.85.0/24 dev eth0 src 103.81.85.162 table eth0
ip route add default via 103.81.85.1 dev eth0 table eth0
ip rule add from 103.81.85.162/32 table eth0
ip rule add to 103.81.85.162/32 table eth0

ip route add 103.81.86.0/24 dev eth1 src 103.81.86.123 table eth1
ip route add default via 103.81.86.1 dev eth1 table eth1
ip rule add from 103.81.86.123/32 table eth1
ip rule add to 103.81.86.123/32 table eth1

Sau khi viết xong ta bấm ESC rồi gõ :wq để lưu lại. Phân quyền cho file vừa tạo và chạy nó luôn.

Giải thích ở đây một chút 103.81.85.0 là dải mạng của 103.81.85.162, còn 103.81.85.1 là Gateway của 103.81.85.162.

chmod +x route.sh && sh route.sh

Bây giờ thì ta sẽ vào VPS trên bằng cả 2 IP được. Nếu VPS bạn có nhiều hơn 2 IP thì các bạn cứ thêm vào thôi và làm tương tự. Trên thực tế khi bạn có 2 IP bạn chỉ cần viết route cho IP còn lại mà bạn chưa ping được mà thôi, nhưng sẽ có lúc bạn khởi động lại VPS IP sẽ bị nhảy qua IP kia nên bạn cứ viết route cho cả 2 IP cho chắc.



Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *