Điểm:0

Định tuyến lưu lượng của một máy thông qua đường hầm GRE tới NAT từ xa

lá cờ vn

Tôi phải giải quyết tình huống tiến thoái lưỡng nan sau đây cho một người bạn và nghĩ rằng tôi nên ghi lại cách chúng tôi đã làm ở đây...

Đây là tình huống:

  • Mạng nhà anh 192.168.1.0/24 và nó nằm sau bộ định tuyến Linux thực hiện NAT và có địa chỉ IP công khai A.A.A.A. Bộ định tuyến Linux chạy openSUSE 15.3.
  • Trên mạng gia đình có một thiết bị quan tâm cụ thể tại địa chỉ 192.168.1.17.
  • Anh ta có một máy Linux từ xa tự kết nối Internet tại địa chỉ B.B.B.B. Máy này là một máy chủ được lưu trữ và sống ở một vùng khác của đất nước. Máy này cũng chạy openSUSE 15.3.

Những gì anh ấy muốn là cho tất cả 192.168.1.17lưu lượng truy cập được định tuyến qua và NAT bởi máy từ xa B.B.B.B, nhưng để tất cả các máy khác trong mạng gia đình không bị ảnh hưởng (nghĩa là vẫn được định tuyến qua bộ định tuyến gia đình A.A.A.A như thường lệ).

Hiệu quả là đối với thế giới bên ngoài tất cả 192.168.1.17lưu lượng truy cập của có vẻ như đến từ B.B.B.B thay vì A.A.A.A.

Điều này tương đương với NAT/mạng của "ném giọng nói của bạn" cho một máy cụ thể trên mạng của bạn.

Điểm:0
lá cờ vn

Đây là cách chúng tôi đã làm điều này.

Chúng tôi thiết lập một đường hầm GRE giữa A.A.A.AB.B.B.B (giao diện gre1 trên cả hai máy chủ), với địa chỉ IP đường hầm điểm-điểm nội bộ 10.0.0.110.0.0.2 (tương ứng). Lưu ý rằng không cần mã hóa vì dù sao các gói trong đường hầm cũng sẽ được mở ra và gửi qua Internet.

Tiếp theo, chúng ta phải cấu hình B.B.B.B để kích hoạt NAT trên giao diện bên ngoài của nó eth0. Điều này được thực hiện thông qua tường lửa. Sau đó, chúng tôi phải thêm quy tắc tùy chỉnh vào tường lửa để không chặn các gói GRE đến. chúng tôi đặt gre1 giao diện vào đáng tin cậy zone để tất cả các gói đến bên trong đường hầm đều được cho phép và sẽ bị NAT'd.

Trên mạng gia đình, chúng tôi đã thiết lập qua tường lửa với tư cách là một bộ định tuyến NAT, do đó, điều duy nhất còn lại phải làm là (a) tạo phía bên kia của đường hầm GRE và (b) chuyển hướng Linux 192.168.1.17lưu lượng truy cập đi vào đường hầm. Bước cuối cùng này là phần hơi phức tạp.

Chi tiết bên dưới...

bật thiết lập B.B.B.B (Máy chủ từ xa)

Thêm giao diện gre1:

    # /etc/sysconfig/mạng/ifcfg-gre1
    STARTMODE='khởi động'
    BOOTPROTO='tĩnh'
    TUNNEL='gre'
    TUNNEL_LOCAL_IPADDR='B.B.B.B'
    TUNNEL_REMOTE_IPADDR='A.A.A.A'
    IPADDR='10.0.0.2'
    REMOTE_IPADDR='10.0.0.1'
    TUNNEL_TTL='64'
    KHU = đáng tin cậy

Thêm tuyến đến mạng gia đình và phía xa của liên kết P2P qua gre1:

    # /etc/sysconfig/mạng/ifroute-gre1 
    # Tùy chọn giao diện mặt nạ mạng cổng đích
    192.168.1.0/24 - - -
    10.0.0.1 - - -

định cấu hình tường lửa qua tường lửa yast2

  • Đặt giao diện eth0 trong khu vực bên ngoài
  • Đặt giao diện gre1 trong khu vực đáng tin cậy
  • Thêm quy tắc tường lửa tùy chỉnh vào vùng bên ngoài cho phép các gói GRE đến từ A.A.A.A
  • Thêm quy tắc tường lửa tùy chỉnh để kẹp TCP MSS cho cả hai bên ngoàiđáng tin cậy vùng (yêu cầu tường lửa >= 1.0.0)

Tập tin vùng trong /etc/firewalld/zones:

    # /etc/firewalld/zones/external.xml    
    <vùng>
        <short>Bên ngoài</short>
        <tên dịch vụ="ssh"/>
        ...
        <hóa trang/>
        <rule family="ipv4">
          <địa chỉ nguồn="A.A.A.A"/>
          <chấp nhận/>
        </rule>
        <quy tắc>
          <tcp-mss-clamp value="1420"/><!-- yêu cầu tường lửa >= 1.0.0 -->
        </rule>
        <tên giao diện="eth0"/>
    </vùng>
    # /etc/firewalld/zones/trusted.xml    
    <zone target="CHẤP NHẬN">
      <short>Đáng tin cậy</short>
      <description>Tất cả các kết nối mạng đều được chấp nhận.</description>
      <quy tắc>
          <tcp-mss-clamp value="1420"/><!-- yêu cầu tường lửa >= 1.0.0 -->
      </rule>
      <tên giao diện="gre1"/>
    </vùng>

bật thiết lập A.A.A.A (Máy chủ mạng gia đình)

Điều này giả định rằng A.A.A.A đã được thiết lập để NAT 192.168.1.0/24 mạng, v.v.

Thêm giao diện gre1:

    # /etc/sysconfig/mạng/ifcfg-gre1
    STARTMODE='khởi động'
    BOOTPROTO='tĩnh'
    TUNNEL='gre'
    TUNNEL_LOCAL_IPADDR='A.A.A.A'
    TUNNEL_REMOTE_IPADDR='B.B.B.B'
    IPADDR='10.0.0.1'
    REMOTE_IPADDR='10.0.0.2'
    TUNNEL_TTL='64'
    KHU = 'đáng tin cậy'

Thêm tuyến đường đến phía xa của liên kết P2P qua gre1:

    # /etc/sysconfig/mạng/ifroute-gre1 
    # Tùy chọn giao diện mặt nạ mạng cổng đích
    10.0.0.2 - - -

định cấu hình tường lửa qua tường lửa yast2:

  • Đặt giao diện gre1 trong khu vực đáng tin cậy
  • giao diện eth0 nên đã ở trong khu vực bên ngoài

Kích hoạt định tuyến lại

Đây là "phần khó khăn" cuối cùng gây ra 192.168.1.17lưu lượng truy cập ra bên ngoài sẽ được chuyển hướng qua đường hầm GRE.

Để bật chuyển hướng, hãy chạy các lệnh này trên A.A.A.A:

$ ip tuôn ra bảng 10
$ ip route thêm bảng 10 vào mặc định qua 10.0.0.2 dev gre1
$ ip quy tắc thêm từ 192.168.1.17 bảng 10 ưu tiên 10

Để hoàn tác các lệnh trên:

$ ip quy tắc del từ 192.168.1.17 bảng 10 ưu tiên 10
$ ip tuôn ra bảng 10

Đă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.