Hướng dẫn cấu hình nhiều IP trên CentOS 7 cùng một card mạng

Hướng dẫn cấu hình nhiều IP trên CentOS 7 cùng một card mạng

Trong quá trình vận hành VPS, Dedicated Server hoặc máy chủ ảo hóa, có nhiều trường hợp một máy chủ cần sử dụng nhiều địa chỉ IP trên cùng một card mạng. Đây là mô hình thường gặp khi triển khai Web Server, Mail Server, Proxy, DNS, Hosting, VPN hoặc các ứng dụng yêu cầu mỗi dịch vụ sử dụng một địa chỉ IP riêng.

CentOS 7 hỗ trợ cấu hình nhiều IPv4 trên cùng một network interface. Các IP có thể thuộc cùng subnet, cùng VLAN và cùng card mạng mà không cần tạo thêm interface vật lý.

Bài viết này hướng dẫn cách cấu hình nhiều IP trên CentOS 7 bằng NetworkManager và file cấu hình ifcfg, đồng thời bổ sung các lưu ý quan trọng khi triển khai trên OpenStack, VMware, VPS và Dedicated Server.

DataOnline cung cấp tối đa 252 địa chỉ IP trên mỗi dịch vụ VPS. Tối đa 2000 IP cho mỗi máy chủ riêng.
Tham khảo dịch vụ cho thuê VPS, Bare Metal – Server riêng 

Mục lục nội dung

1. Cấu hình nhiều IP trên một card mạng là gì?

Thông thường một máy chủ có thể được cấu hình như sau:

eth0
 └── 192.168.10.10

Khi cần sử dụng nhiều địa chỉ IP, có thể cấu hình:

eth0
 ├── 192.168.10.10
 ├── 192.168.10.11
 ├── 192.168.10.12
 ├── 192.168.10.13
 └── 192.168.10.14

Tất cả các địa chỉ IP đều được gán trực tiếp lên cùng một interface.

Ví dụ:

Interface: eth0
Network:   192.168.10.0/24
Gateway:   192.168.10.1

IP chính:
192.168.10.10

IP phụ:
192.168.10.11
192.168.10.12
192.168.10.13

Mô hình này thường được gọi là:

  • Multiple IP addresses.
  • Secondary IP.
  • Additional IP.
  • Multi-IP.
  • IP alias.
  • Nhiều IP trên cùng interface.

Không cần tạo eth0:1, eth0:2 như cách cấu hình alias truyền thống. Với CentOS 7, có thể khai báo nhiều địa chỉ IP trực tiếp trong cấu hình interface.

2. Khi nào cần cấu hình nhiều IP trên một VPS?

Một máy chủ có thể cần nhiều IP trong nhiều trường hợp.

Web Server

Có thể sử dụng các IP khác nhau cho nhiều website:

Website A → 192.168.10.11
Website B → 192.168.10.12
Website C → 192.168.10.13

Mail Server

Một số hệ thống email cần nhiều IP để phân tách:

Mail Server 1 → IP 1
Mail Server 2 → IP 2
SMTP outbound → IP 3

Proxy Server

Mỗi proxy có thể sử dụng một IP public khác nhau.

DNS Server

Có thể sử dụng nhiều IP để phục vụ các zone hoặc dịch vụ DNS khác nhau.

Hosting Server

Máy chủ Hosting có thể gán IP riêng cho từng website hoặc từng nhóm dịch vụ.

VPN

Một server VPN có thể cần nhiều địa chỉ IP public cho các dịch vụ hoặc tunnel khác nhau.

VPS và Cloud Server

Nhà cung cấp Cloud có thể cấp nhiều IP public cho cùng một VM.

3. Điều kiện cần trước khi cấu hình nhiều IP

Đây là phần rất quan trọng.

Không phải cứ thêm IP vào hệ điều hành là IP sẽ hoạt động.

Có hai lớp cấu hình cần kiểm tra:

Hạ tầng mạng
      +
Hệ điều hành

Hệ điều hành phải biết IP nào được gán cho interface, đồng thời hệ thống mạng bên ngoài phải cho phép máy chủ sử dụng các IP đó.

cauhinhip

4. Đối với VPS OpenStack

Nếu VPS chạy trên OpenStack, việc thêm IP trong CentOS chưa đủ.

OpenStack có cơ chế kiểm tra địa chỉ nguồn và địa chỉ đích trên port. Nếu IP phụ chưa được cho phép trên port, VM có thể nhận IP trong Linux nhưng lưu lượng vẫn bị chặn.

Trong trường hợp sử dụng nhiều IP trên cùng một OpenStack port, cần cấu hình allowed-address-pairs cho các IP bổ sung nếu kiến trúc mạng của OpenStack yêu cầu.

Ví dụ:

Port:
10.18.14.4

Additional IP:
10.18.14.5
10.18.14.6
10.18.14.7

Cần đảm bảo các IP bổ sung được cho phép trên port tương ứng.

Nếu không thực hiện bước này, có thể xảy ra tình trạng:

ip addr

hiển thị đầy đủ IP nhưng:

ping
curl
wget
TCP connection

không hoạt động từ Internet.

Đây là một trong những nguyên nhân phổ biến khiến người dùng nghĩ rằng cấu hình CentOS bị lỗi trong khi vấn đề nằm ở lớp Cloud Network.

5. Đối với VMware hoặc nền tảng ảo hóa khác

Với VMware, Proxmox, KVM hoặc các nền tảng ảo hóa khác, cần kiểm tra chính sách network của hypervisor và virtual switch.

Nếu IP được định tuyến trực tiếp tới VM, cấu hình thường đơn giản hơn.

Nếu nhà cung cấp sử dụng cơ chế chống giả mạo MAC/IP, cần đảm bảo các IP bổ sung được phép sử dụng trên virtual NIC.

Tùy kiến trúc có thể cần kiểm tra:

  • Port Security.
  • Anti-spoofing.
  • Allowed IP.
  • Allowed MAC.
  • VLAN.
  • Trunk.
  • Access mode.
  • Routing.

6. Đối với Dedicated Server

Nếu sử dụng server vật lý, việc cấu hình nhiều IP phụ thuộc vào cách Data Center cấp IP.

Ví dụ Data Center cung cấp:

Network: 103.XXX.XXX.0/24
Gateway: 103.XXX.XXX.1

IP:
103.XXX.XXX.10
103.XXX.XXX.11
103.XXX.XXX.12

Nếu toàn bộ IP nằm trong cùng VLAN/subnet và được route trực tiếp đến server, có thể gán nhiều IP trên cùng interface.

Trong trường hợp Data Center sử dụng routed subnet, IP phụ có thể phải cấu hình dạng /32 thay vì /24.

Vì vậy cần xác nhận với nhà cung cấp:

IP address
Subnet mask / Prefix
Gateway
VLAN
Routing method

trước khi cấu hình.

7. Kiểm tra tên card mạng trên CentOS 7

Trước tiên đăng nhập vào CentOS 7 và kiểm tra interface:

ip addr

Hoặc:

ip link

Ví dụ kết quả:

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP>

Trong trường hợp khác, interface có thể có tên:

ens3
ens160
em1
em2
eno1

Không nên mặc định sử dụng eth0.

Hãy xác định đúng interface trước khi chỉnh sửa file cấu hình.

Có thể sử dụng:

nmcli device status

Ví dụ:

DEVICE  TYPE      STATE      CONNECTION
eth0    ethernet  connected  eth0
lo      loopback  unmanaged   --

8. Kiểm tra IP hiện tại

Sử dụng:

ip addr show eth0

Ví dụ:

inet 10.18.14.4/24

Kiểm tra gateway:

ip route

Ví dụ:

default via 10.18.14.1 dev eth0
10.18.14.0/24 dev eth0 proto kernel scope link src 10.18.14.4

Thông tin cần xác định:

Interface: eth0
Primary IP: 10.18.14.4
Prefix: 24
Gateway: 10.18.14.1

9. Cấu hình nhiều IP trên CentOS 7 bằng ifcfg

CentOS 7 sử dụng các file cấu hình network trong:

/etc/sysconfig/network-scripts/

Ví dụ interface là eth0:

/etc/sysconfig/network-scripts/ifcfg-eth0

Mở file:

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

Hoặc:

nano /etc/sysconfig/network-scripts/ifcfg-eth0

Cấu hình cơ bản:

TYPE=Ethernet
BOOTPROTO=none
NAME=eth0
DEVICE=eth0
ONBOOT=yes

IPADDR=10.18.14.4
PREFIX=24
GATEWAY=10.18.14.1

DNS1=8.8.8.8
DNS2=1.1.1.1

Sau đó thêm các IP phụ:

IPADDR1=10.18.14.5
PREFIX1=24

IPADDR2=10.18.14.6
PREFIX2=24

IPADDR3=10.18.14.7
PREFIX3=24

IPADDR4=10.18.14.8
PREFIX4=24

Toàn bộ cấu hình:

TYPE=Ethernet
BOOTPROTO=none

NAME=eth0
DEVICE=eth0
ONBOOT=yes

IPADDR=10.18.14.4
PREFIX=24
GATEWAY=10.18.14.1

IPADDR1=10.18.14.5
PREFIX1=24

IPADDR2=10.18.14.6
PREFIX2=24

IPADDR3=10.18.14.7
PREFIX3=24

IPADDR4=10.18.14.8
PREFIX4=24

DNS1=8.8.8.8
DNS2=1.1.1.1

Trong cấu hình này chỉ nên khai báo một default gateway.

Không cần khai báo:

GATEWAY1=
GATEWAY2=
GATEWAY3=

nếu các IP phụ nằm trên cùng mạng và sử dụng cùng default route.

10. IPADDR và IPADDR1 khác nhau như thế nào?

IP chính thường được khai báo:

IPADDR=10.18.14.4
PREFIX=24

Các IP bổ sung:

IPADDR1=10.18.14.5
PREFIX1=24

IPADDR2=10.18.14.6
PREFIX2=24

IPADDR3=10.18.14.7
PREFIX3=24

Điểm quan trọng là số thứ tự phải được khai báo chính xác và không nên bỏ sót trong chuỗi cấu hình.

Ví dụ:

IPADDR1=10.18.14.5
IPADDR2=10.18.14.6
IPADDR3=10.18.14.7

thay vì tạo cấu hình không liên tục như:

IPADDR1=10.18.14.5
IPADDR3=10.18.14.7
IPADDR7=10.18.14.11

Để tránh nhầm lẫn, nên duy trì thứ tự liên tục từ IP phụ đầu tiên.

11. Ví dụ cấu hình 10 IP trên một interface

Giả sử VPS có:

IP chính:
10.18.14.4

IP phụ:
10.18.14.5
10.18.14.6
10.18.14.7
10.18.14.8
10.18.14.9
10.18.14.10
10.18.14.11
10.18.14.12
10.18.14.13

Gateway:

10.18.14.1

Cấu hình:

TYPE=Ethernet
BOOTPROTO=none

NAME=eth0
DEVICE=eth0
ONBOOT=yes

IPADDR=10.18.14.4
PREFIX=24
GATEWAY=10.18.14.1

IPADDR1=10.18.14.5
PREFIX1=24

IPADDR2=10.18.14.6
PREFIX2=24

IPADDR3=10.18.14.7
PREFIX3=24

IPADDR4=10.18.14.8
PREFIX4=24

IPADDR5=10.18.14.9
PREFIX5=24

IPADDR6=10.18.14.10
PREFIX6=24

IPADDR7=10.18.14.11
PREFIX7=24

IPADDR8=10.18.14.12
PREFIX8=24

IPADDR9=10.18.14.13
PREFIX9=24

12. Cấu hình nhiều IP bằng nmcli

Ngoài việc chỉnh sửa file ifcfg, CentOS 7 có thể sử dụng nmcli.

Kiểm tra connection:

nmcli connection show

Ví dụ:

NAME    UUID                                  TYPE      DEVICE
eth0    xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx  ethernet  eth0

Thêm IP phụ:

nmcli connection modify eth0 +ipv4.addresses 10.18.14.5/24

Thêm tiếp:

nmcli connection modify eth0 +ipv4.addresses 10.18.14.6/24
nmcli connection modify eth0 +ipv4.addresses 10.18.14.7/24

Kiểm tra cấu hình:

nmcli connection show eth0

Sau đó kích hoạt lại connection:

nmcli connection up eth0

Kiểm tra:

ip addr show eth0

13. Kiểm tra toàn bộ IP sau khi cấu hình

Sử dụng:

ip addr show eth0

Kết quả có thể tương tự:

inet 10.18.14.4/24
inet 10.18.14.5/24
inet 10.18.14.6/24
inet 10.18.14.7/24
inet 10.18.14.8/24

Có thể lọc riêng IPv4:

ip -4 addr show dev eth0

Hoặc:

nmcli device show eth0

14. Restart network trên CentOS 7

Sau khi chỉnh sửa file cấu hình, có thể reload NetworkManager:

nmcli connection reload

Sau đó:

nmcli connection up eth0

Hoặc trong hệ thống sử dụng network service:

systemctl restart network

Cũng có thể sử dụng:

systemctl restart NetworkManager

Tuy nhiên, cần đặc biệt cẩn thận khi thực hiện thao tác restart network trên server đang kết nối SSH từ xa.

Nếu cấu hình sai, phiên SSH có thể bị mất và không thể truy cập lại máy chủ.

Đối với VPS production, nên sử dụng console của hypervisor, VNC, Serial Console hoặc IPMI/iDRAC nếu có trước khi thay đổi network quan trọng.

15. Không nên sử dụng nhiều Gateway cho nhiều IP cùng subnet

Một lỗi khá phổ biến là cấu hình:

GATEWAY=10.18.14.1
GATEWAY1=10.18.14.1
GATEWAY2=10.18.14.1
GATEWAY3=10.18.14.1

Trong trường hợp các IP đều thuộc cùng một subnet, thông thường chỉ cần một default gateway.

Ví dụ:

IPADDR=10.18.14.4
PREFIX=24
GATEWAY=10.18.14.1

IPADDR1=10.18.14.5
PREFIX1=24

IPADDR2=10.18.14.6
PREFIX2=24

Default route sẽ được sử dụng chung cho các IP.

16. Khi IP phụ thuộc subnet khác

Nếu các IP thuộc những subnet khác nhau, việc cấu hình sẽ phức tạp hơn.

Ví dụ:

eth0
 ├── 10.18.14.4/24
 └── 192.168.20.10/24

Nếu cả hai mạng có gateway khác nhau, không nên tùy tiện thêm nhiều default gateway.

Có thể cần sử dụng:

  • Static route.
  • Policy routing.
  • Multiple routing tables.
  • Source-based routing.

Ví dụ kiểm tra route:

ip route

và:

ip rule

Đối với server có nhiều uplink hoặc nhiều subnet public, policy routing thường là phương án phù hợp hơn so với việc thêm nhiều default gateway.

17. Trường hợp IP phụ được route dạng /32

Một số nhà cung cấp không cấp IP phụ theo kiểu cùng subnet L2.

Ví dụ:

Main IP:
103.183.100.10/24

Gateway:
103.183.100.1

Additional IP:
103.183.200.10

IP phụ có thể được route trực tiếp tới server và phải cấu hình:

103.183.200.10/32

thay vì:

103.183.200.10/24

Trong trường hợp này không nên tự suy đoán subnet mask.

Hãy sử dụng đúng thông tin mà Data Center hoặc nhà cung cấp VPS cung cấp.

18. Kiểm tra routing

Sau khi cấu hình nhiều IP, kiểm tra:

ip route

Ví dụ:

default via 10.18.14.1 dev eth0
10.18.14.0/24 dev eth0 proto kernel scope link src 10.18.14.4

Kiểm tra đường đi đến một địa chỉ cụ thể:

ip route get 8.8.8.8

Ví dụ:

8.8.8.8 via 10.18.14.1 dev eth0 src 10.18.14.4

Điều này giúp xác định IP nguồn mà Linux lựa chọn khi gửi traffic ra ngoài.

19. Kiểm tra IP nguồn khi sử dụng nhiều IP

Khi một server có nhiều IP, Linux có thể lựa chọn một IP làm source tùy theo routing và ứng dụng.

Kiểm tra bằng:

ip route get 8.8.8.8

Nếu muốn ứng dụng sử dụng một IP cụ thể, có thể bind ứng dụng vào địa chỉ IP tương ứng.

Ví dụ với curl:

curl --interface 10.18.14.5 https://example.com

Kiểm tra:

curl --interface 10.18.14.6 https://example.com

Cách này hữu ích khi kiểm tra outbound traffic của từng IP.

20. Kiểm tra từng IP có hoạt động hay không

Có thể kiểm tra trực tiếp từ máy chủ:

ping -I 10.18.14.5 8.8.8.8

Tiếp tục:

ping -I 10.18.14.6 8.8.8.8

Hoặc kiểm tra HTTP:

curl --interface 10.18.14.5 https://ifconfig.me

Nếu server trả về đúng IP:

10.18.14.5

thì outbound traffic đang sử dụng IP đó.

21. Kiểm tra IP từ bên ngoài Internet

Ping không phải lúc nào cũng là phương pháp kiểm tra chính xác vì firewall hoặc nhà cung cấp có thể chặn ICMP.

Nên kiểm tra thêm:

curl
nc
telnet
ssh
HTTP
HTTPS

Ví dụ trên server:

ss -lntup

Nếu Web Server đang listen:

0.0.0.0:80
0.0.0.0:443

thì dịch vụ có thể nhận kết nối trên nhiều IP.

Nếu ứng dụng chỉ listen trên:

10.18.14.5:80

thì nó chỉ nhận traffic trên IP đó.

22. Kiểm tra ARP khi nhiều IP cùng VLAN

Khi nhiều IP nằm cùng subnet, ARP đóng vai trò quan trọng.

Kiểm tra ARP:

ip neigh

Có thể sử dụng:

arp -n

để kiểm tra bảng ARP.

Nếu IP đã được cấu hình nhưng không thể truy cập từ cùng VLAN, cần kiểm tra:

  • ARP.
  • VLAN.
  • Switch port.
  • Port security.
  • MAC address.
  • Anti-spoofing.
  • Network namespace.
  • Firewall.

23. Kiểm tra Reverse Path Filtering

Trong một số môi trường nhiều IP, nhiều interface hoặc policy routing, rp_filter có thể gây ra hiện tượng traffic bị drop.

Kiểm tra:

sysctl net.ipv4.conf.all.rp_filter

và:

sysctl net.ipv4.conf.default.rp_filter

Nếu server có cấu hình routing phức tạp, cần đánh giá rp_filter cùng với routing table và source address.

Không nên tắt rp_filter một cách máy móc. Chỉ thay đổi khi đã xác định đây là nguyên nhân gây lỗi và hiểu rõ tác động bảo mật của cấu hình.

24. Firewall khi sử dụng nhiều IP

Nếu IP đã được cấu hình nhưng dịch vụ không truy cập được, cần kiểm tra firewall.

CentOS 7 có thể sử dụng:

firewalld

Kiểm tra:

systemctl status firewalld

Kiểm tra rule:

firewall-cmd --list-all

Kiểm tra port đang listen:

ss -lntup

Ví dụ mở HTTP:

firewall-cmd --permanent --add-service=http

HTTPS:

firewall-cmd --permanent --add-service=https

Sau đó:

firewall-cmd --reload

Nếu sử dụng CSF Firewall hoặc iptables trực tiếp, cần kiểm tra rule tương ứng.

25. Cấu hình nhiều IP cho Web Server

Sau khi IP đã hoạt động ở cấp hệ điều hành, có thể sử dụng IP cho từng website.

Ví dụ:

Website A → 10.18.14.5
Website B → 10.18.14.6
Website C → 10.18.14.7

Với Nginx có thể bind service vào một IP cụ thể:

server {
    listen 10.18.14.5:80;
    server_name example.com;
}

Một website khác:

server {
    listen 10.18.14.6:80;
    server_name example.net;
}

Điều này cho phép nhiều website sử dụng các địa chỉ IP riêng trên cùng một máy chủ.

26. Cấu hình nhiều IP cho Mail Server

Mail Server là một trong những trường hợp sử dụng nhiều IP phổ biến.

Ví dụ:

SMTP Server
IP 1 → Mail outbound chính

IP 2 → Mail outbound phụ

Tuy nhiên, việc có nhiều IP không đồng nghĩa với việc email sẽ có reputation tốt hơn.

Đối với Mail Server, cần đồng thời cấu hình:

  • PTR.
  • A record.
  • MX.
  • SPF.
  • DKIM.
  • DMARC.
  • HELO/EHLO.
  • Reverse DNS.
  • IP reputation.

Nếu sử dụng nhiều IP gửi email, cần kiểm soát rõ IP nào được dùng cho outbound SMTP.

27. Cấu hình hàng chục hoặc hàng trăm IP

CentOS 7 có thể cấu hình nhiều IP trên một interface.

Ví dụ:

IPADDR1=10.18.14.5
IPADDR2=10.18.14.6
IPADDR3=10.18.14.7
...
IPADDR100=10.18.14.104

Tuy nhiên, không nên chỉ nhìn vào khả năng của hệ điều hành.

Khi triển khai hàng chục hoặc hàng trăm IP, cần kiểm tra giới hạn và chính sách của:

  • VPS provider.
  • OpenStack.
  • Switch.
  • Router.
  • Firewall.
  • ARP.
  • Network security.
  • Upstream provider.

Đặc biệt với VPS Cloud, nhà cung cấp có thể giới hạn số lượng IP được phép sử dụng trên một port.

28. Tạo cấu hình nhiều IP bằng script

Nếu cần thêm rất nhiều IP, có thể sử dụng script để tránh nhập thủ công.

Ví dụ tạo cấu hình IP từ .5 đến .20:

for i in {5..20}; do
    echo "IPADDR$((i-4))=10.18.14.$i"
    echo "PREFIX$((i-4))=24"
done

Kết quả:

IPADDR1=10.18.14.5
PREFIX1=24
IPADDR2=10.18.14.6
PREFIX2=24
IPADDR3=10.18.14.7
PREFIX3=24
...

Cách này phù hợp khi cần tạo cấu hình với số lượng IP lớn.

Tuy nhiên, nên kiểm tra kỹ dải IP trước khi áp dụng vào file network production.

29. Những lỗi thường gặp khi cấu hình nhiều IP

IP hiển thị nhưng không ping được

Kiểm tra:

Provider network
Allowed IP
ARP
VLAN
Firewall
Routing

Ping được nhưng không truy cập được dịch vụ

Kiểm tra:

ss -lntup

và firewall.

Chỉ IP chính hoạt động

Đây thường là dấu hiệu IP phụ chưa được phép trên hạ tầng Cloud hoặc cấu hình routing/ARP chưa đúng.

Mất SSH sau khi restart network

Nguyên nhân có thể là:

  • Sai interface.
  • Sai gateway.
  • Sai subnet.
  • Sai route.
  • YAML hoặc ifcfg sai cú pháp.
  • NetworkManager không load cấu hình.
  • Cấu hình nhiều gateway không đúng.

IP phụ không tồn tại sau reboot

Kiểm tra:

cat /etc/sysconfig/network-scripts/ifcfg-eth0

và:

nmcli connection show eth0

Đảm bảo IP được lưu trong connection chứ không chỉ được thêm tạm bằng lệnh ip addr add.

30. Thêm IP tạm thời để kiểm tra

Trước khi sửa file cấu hình, có thể thử thêm IP trực tiếp:

ip addr add 10.18.14.5/24 dev eth0

Kiểm tra:

ip addr show eth0

Nếu cần xóa:

ip addr del 10.18.14.5/24 dev eth0

Phương pháp này rất hữu ích để xác định:

IP có hoạt động trên OS hay không?

trước khi thay đổi cấu hình persistent.

Lưu ý rằng ip addr add chỉ là cấu hình runtime. Sau khi reboot, IP có thể biến mất nếu chưa được ghi vào cấu hình NetworkManager/ifcfg.

31. Cấu hình nhiều IP trên CentOS 7 có ảnh hưởng hiệu năng không?

Thông thường việc gán thêm một số lượng nhỏ IP trên cùng interface không tạo ra ảnh hưởng hiệu năng đáng kể.

Tuy nhiên, khi số lượng IP tăng rất lớn, cần quan tâm đến:

  • ARP/Neighbor table.
  • Network stack.
  • Connection tracking.
  • Firewall rules.
  • Application binding.
  • Routing.
  • Provider anti-spoofing.
  • Network broadcast/ARP traffic.

Nếu máy chủ sử dụng hàng trăm hoặc hàng nghìn IP, cần thiết kế network phù hợp thay vì chỉ tăng số lượng IP trên một interface.

32. CentOS 7 đã hết vòng đời

CentOS 7 đã kết thúc vòng đời hỗ trợ chính thức vào ngày 30/06/2024.

Điều này rất quan trọng nếu triển khai server mới.

Nếu đang vận hành hệ thống CentOS 7 hiện tại, việc cấu hình nhiều IP vẫn có thể thực hiện theo phương pháp trong bài viết này.

Tuy nhiên, với hệ thống mới, nên cân nhắc các nền tảng được hỗ trợ lâu dài hơn như:

  • Rocky Linux.
  • AlmaLinux.
  • RHEL.
  • Ubuntu Server.
  • Debian.

Cách cấu hình network trên các phiên bản Linux mới có thể khác CentOS 7, đặc biệt khi sử dụng NetworkManager và các định dạng cấu hình mới.

33. CentOS 7 và các hệ điều hành mới khác nhau như thế nào?

CentOS 7 thường sử dụng:

/etc/sysconfig/network-scripts/

Trong khi các hệ điều hành Linux mới có thể sử dụng:

NetworkManager
nmcli
keyfiles
netplan
systemd-networkd

Do đó không nên sao chép nguyên cấu hình:

ifcfg-eth0

sang Ubuntu 22.04, Ubuntu 24.04 hoặc các hệ điều hành mới khác.

Ví dụ Ubuntu 24.04 thường sử dụng Netplan:

/etc/netplan/

và cấu hình nhiều IP có cú pháp khác hoàn toàn.

34. Checklist cấu hình nhiều IP trên CentOS 7

Trước khi cấu hình:

[ ] Xác định đúng interface
[ ] Xác định IP chính
[ ] Xác định subnet/prefix
[ ] Xác định gateway
[ ] Xác định IP phụ
[ ] Kiểm tra VLAN
[ ] Kiểm tra provider routing
[ ] Kiểm tra anti-spoofing
[ ] Kiểm tra OpenStack allowed-address-pairs nếu sử dụng

Sau khi cấu hình:

[ ] ip addr
[ ] ip route
[ ] ip neigh
[ ] nmcli connection show
[ ] ping gateway
[ ] ping Internet
[ ] curl kiểm tra IP nguồn
[ ] kiểm tra firewall
[ ] kiểm tra service listening

35. Tổng kết

Cấu hình nhiều IP trên cùng một card mạng là phương pháp phổ biến khi triển khai VPS, Dedicated Server, Web Server, Mail Server, Proxy, Hosting và các hệ thống Cloud.

Trên CentOS 7, có thể cấu hình nhiều địa chỉ IPv4 trực tiếp trong file:

/etc/sysconfig/network-scripts/ifcfg-eth0

Ví dụ:

IPADDR=10.18.14.4
PREFIX=24
GATEWAY=10.18.14.1

IPADDR1=10.18.14.5
PREFIX1=24

IPADDR2=10.18.14.6
PREFIX2=24

IPADDR3=10.18.14.7
PREFIX3=24

Sau đó kiểm tra bằng:

ip addr

và:

ip route

Điểm quan trọng nhất là cấu hình IP trên Linux chỉ là một phần của hệ thống. Nếu máy chủ chạy trên OpenStack, VMware, Proxmox hoặc Data Center có cơ chế anti-spoofing, cần đảm bảo các IP bổ sung được cho phép trên lớp network tương ứng.

Đối với hệ thống production, nên kiểm tra đầy đủ IP addressing, routing, ARP, firewall và chính sách của nhà cung cấp trước khi restart network. Với các hệ thống mới triển khai, cũng nên cân nhắc chuyển sang Ubuntu, Debian, Rocky Linux, AlmaLinux hoặc RHEL thay vì tiếp tục sử dụng CentOS 7 đã hết vòng đời.

Để lại một bình luận

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 *