Điểm:0

Cấu hình AWS NIC

lá cờ us

Tôi đang cố gắng thiết lập một phiên bản EC2 cho một trường hợp sử dụng cụ thể. Trong đó tôi sẽ cần 2 ENI với địa chỉ IP được hiển thị công khai. (Cả hai đều có thể ping được)

Tôi đã thực hiện các bước sau cho đến nay:

  • Đã đính kèm 2 Giao diện mạng từ cùng một mạng con
  • Chạy phiên bản
  • Đã tạo 2 địa chỉ IP đàn hồi, được đính kèm với mỗi thẻ ENI.

Tôi có thể thấy kết quả sau trên phần giao diện Mạng phiên bản EC2.

IP công khai

Nhưng tôi không thể ping 3.104.193.180.

cũng của tôi địa chỉ IP đưa ra kết quả sau đây. . .

ubuntu@ip-172-31-37-139:~$ địa chỉ ip
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 trạng thái qdisc noqueue nhóm UNKNOWN mặc định qlen 1000
    liên kết/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    máy chủ phạm vi inet 127.0.0.1/8 lo
       hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
    inet6 ::1/128 máy chủ phạm vi
       hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 trạng thái qdisc fq_codel UP nhóm mặc định qlen 1000
    liên kết/ether 06:ce:dd:28:5b:b8 brd ff:ff:ff:ff:ff:ff
    inet 172.31.37.139/20 brd 172.31.47.255 phạm vi động toàn cầu eth0
       hợp lệ_lft 3460 giây ưa thích_lft 3460 giây
    liên kết phạm vi inet6 fe80::4ce:ddff:fe28:5bb8/64
       hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc trạng thái fq_codel UP nhóm mặc định qlen 1000
    liên kết/ether 06:a6:9a:4a:98:c6 brd ff:ff:ff:ff:ff:ff
    inet 172.31.41.29/20 brd 172.31.47.255 phạm vi động toàn cầu eth1
       hợp lệ_lft 3460 giây ưa thích_lft 3460 giây
    liên kết phạm vi inet6 fe80::4a6:9aff:fe4a:98c6/64
       hợp lệ_lft mãi mãi ưa thích_lft mãi mãi

Vì vậy, câu hỏi của tôi là. . .

  • Tôi nên làm gì để một IP khác bị lộ/ping được?
  • Làm cách nào để biết cả IP đàn hồi của tôi từ bên trong máy chủ?
Điểm:0
lá cờ my

Để lấy địa chỉ IP công cộng được liên kết với một giao diện nhất định, trước tiên, hãy lấy địa chỉ MAC từ giao diện, sau đó truy xuất thông tin bạn đang tìm kiếm từ Dịch vụ siêu dữ liệu phiên bản (IMDS). Vì vậy, trong ví dụ của bạn ở trên, eth1 có Địa chỉ MAC 06:a6:9a:4a:98:c6, vì vậy bạn có thể lấy địa chỉ IPv4 công khai bằng:

cuộn tròn http://169.254.169.254/latest/meta-data/network/interfaces/macs/02:1d:90:af:65:a3/public-ipv4s

Có thêm thông tin trong tài liệu AWS

Về vấn đề kết nối của bạn, bước đầu tiên, hãy kiểm tra kỹ định tuyến VPC, ACL và cấu hình nhóm bảo mật được liên kết với từng ENI của bạn. Những chi tiết này rất dễ định cấu hình sai và có thể dẫn đến giảm lưu lượng truy cập nếu bạn bỏ lỡ điều gì đó. Hãy kiểm tra những chi tiết đó trước, sau đó quay lại và đọc phần còn lại của bài đăng này. Có một vấn đề tế nhị khác đặc biệt xuất hiện khi bạn có nhiều ENI được liên kết với một phiên bản và đó có thể là vấn đề của bạn.

AWS VPC triển khai các biện pháp bảo vệ chống giả mạo nghiêm ngặt. Đây là một điều tốt vì nó bảo vệ AWS và khách hàng của mình khỏi việc tham gia vào các hình thức tấn công mạng khác nhau trong trường hợp một phiên bản bị xâm phạm vì lý do nào đó. Tuy nhiên, đó là điều bạn cần tính đến khi gắn nhiều ENI vào phiên bản.

Vấn đề là hành vi định tuyến cơ bản chỉ được điều khiển bởi điểm đến của một gói đi. Điều này có nghĩa là phản hồi đối với gói gửi đến có thể không được truyền qua cùng một giao diện mà gói ban đầu đã được nhận. Nhưng đối với VPC, đây được coi là gói "giả mạo", trong đó địa chỉ nguồn trong gói phản hồi không khớp với bất kỳ địa chỉ IP riêng nào được liên kết với ENI.

Xem xét cấu hình giao diện và bảng định tuyến sau:

admin@ip-10-0-0-115:~$ ip -4 addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 trạng thái qdisc noqueue nhóm UNKNOWN mặc định qlen 1000
    máy chủ phạm vi inet 127.0.0.1/8 lo
       hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
2: ens5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc trạng thái mq nhóm LÊN mặc định qlen 1000
    tên thay thế enp0s5
    inet 10.0.0.115/24 brd 10.0.0.255 phạm vi toàn cầu động ens5
       hợp lệ_lft 2801 giây ưa thích_lft 2801 giây
3: ens6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc mq trạng thái nhóm LÊN mặc định qlen 1000
    tên thay thế enp0s6
    inet 10.0.0.8/24 brd 10.0.0.255 phạm vi toàn cầu động ens6
       hợp lệ_lft 2889 giây ưa thích_lft 2889 giây


admin@ip-10-0-0-115:~$ ip ro
mặc định qua 10.0.0.1 dev ens5
10.0.0.0/24 dev ens5 liên kết phạm vi kernel proto src 10.0.0.115
10.0.0.0/24 dev ens6 liên kết phạm vi kernel proto src 10.0.0.8

Trong trường hợp này, 10.0.0.8 là địa chỉ được gán cho ens6. Một gói gửi đến địa chỉ IP này sẽ được nhận qua ens6 và được xử lý như mong đợi. Nhưng một phản hồi gửi đi cho gói đó sẽ được định tuyến theo bảng định tuyến ở trên và sẽ đi ra qua ens5 và bị VPC loại bỏ.

Bạn có thể kiểm tra điều này như thế này:

admin@ip-10-0-0-115:~$ ip ro nhận 8.8.8.8 từ 10.0.0.8
8.8.8.8 từ 10.0.0.8 qua 10.0.0.1 dev ens5 uid 1000
    bộ đệm

Lưu ý rằng thiết bị là ens5, mặc dù 10.0.0.8 được gán cho ens6! VPC sẽ giảm lưu lượng truy cập này!

Để đảm bảo các gói của bạn được VPC phân phối, bạn cần triển khai định tuyến chính sách. Nói chung, định tuyến chính sách đề cập đến tình huống mà hệ thống của bạn sử dụng thông tin bổ sung ngoài đích đến để đưa ra quyết định định tuyến. Trong trường hợp này, bạn cũng cần tính đến địa chỉ IP nguồn. Những gì chúng ta cần làm ở đây là đảm bảo rằng bất kỳ gói gửi đi nào có địa chỉ nguồn là 10.0.0.8 đều rời khỏi ens6.

Định tuyến chính sách trong Linux thường được cấu hình bằng cách sử dụng ip(8) chỉ huy. Để làm cho phiên bản với bảng định tuyến ở trên hoạt động, bạn sẽ muốn tạo một bảng định tuyến phụ dành riêng cho ens6. Thao tác với bảng phụ hoạt động giống như thao tác với bảng 'chính', ngoại trừ bạn chỉ định ID bảng.Vì vậy, trong trường hợp này, chúng ta có thể thêm một tuyến đến mạng cục bộ và một tuyến mặc định qua cổng vào bảng 10000 như sau:

admin@ip-10-0-0-115:~$ Sudo ip ro add 10.0.0.0/24 dev ens6 bảng 10000
admin@ip-10-0-0-115:~$ Sudo ip ro add default via 10.0.0.1 table 10000
admin@ip-10-0-0-115:~$ ip ro hiện bảng 10000
mặc định qua 10.0.0.1 dev ens6
Liên kết phạm vi 10.0.0.0/24 dev ens6

Và tạo quy tắc để định tuyến lưu lượng gửi đi từ 10.0.0.8 theo bảng này:

admin@ip-10-0-0-115:~$ Sudo quy tắc ip thêm từ 10.0.0.8/32 bảng 10000 pref 10000
admin@ip-10-0-0-115:~$ quy tắc ip
0: từ tất cả tra cứu cục bộ
10000: từ 10.0.0.8 tra cứu 10000
32766: từ tất cả tra cứu chính
32767: từ tất cả tra cứu mặc định

Lưu ý sự hiện diện của quy tắc 10000 cho thấy lưu lượng truy cập từ 10.0.0.8 sẽ được định tuyến qua bảng 10000.

Chúng tôi có thể xác nhận điều này với nhận ip ro lần nữa:

admin@ip-10-0-0-115:~$ ip ro nhận 8.8.8.8 từ 10.0.0.8
8.8.8.8 từ 10.0.0.8 đến 10.0.0.1 dev ens6 bảng 10000 uid 1000
    bộ đệm

Lưu ý rằng nó đang được định tuyến theo bảng 10000, nhưng quan trọng hơn là nó sẽ được gửi qua thiết bị ens6!

Amazon Linux tự động thiết lập các quy tắc định tuyến chính sách như thế này khi bạn có nhiều ENI được đính kèm với phiên bản của mình. Tôi không biết liệu Ubuntu có làm được không, vì vậy bạn có thể cần thực hiện một số nghiên cứu về mặt đó và có thể thực hiện tự động hóa của riêng mình cho tình huống cụ thể của bạn.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.