Ubuntu 14.04 là Cổng / Bộ định tuyến và Tường lửa


16

Thiết lập hệ thống hiện tại của tôi là Ubuntu 14.04 Desktop 64 Bit và tôi đang sử dụng Internet từ bộ định tuyến bằng IP công cộng

eth0 - WAN Public IP 182.x.x.x  
eth1 - LAN private IP 192.168.0.1

Bây giờ tôi muốn phân phối kết nối này đến các máy tính khác bằng hệ thống của mình dưới dạng Gateway, IP hệ thống của tôi 192.168.0.1và các máy tính khác trên mạng đang sử dụng IP tĩnh 192.168.0.2192.168.0.255 dưới dạng static/ hoặc DHCP.

Ngoài ra tôi muốn thiết lập tường lửa trên hệ thống của mình để tôi có thể theo dõi và kiểm soát lưu lượng của hệ thống khác trên mạng.

Câu trả lời:


15
  1. Mở Terminal Ctrl+ Alt+T

  2. Nhập lệnh sau để chỉnh sửa interfacestệp:

    sudo vim /etc/network/interfaces
    
  3. Chỉnh sửa tệp với các dòng sau: (thêm của bạn netmaskgateway)

    auto lo 
    iface lo inet loopback
    
    auto eth0
    iface eth0 inet static
    address 182.x.x.x 
    netmask  x.x.x.x 
    gateway x.x.x.x
    
    auto eth1
    iface eth1 inet static 
    address 192.168.0.1
    netmask x.x.x.x
    
  4. Bây giờ chỉnh sửa /etc/sysctl.confvà bỏ ghi chú:

    # net.ipv4.ip_forward=1
    

    để nó đọc:

    net.ipv4.ip_forward=1
    

    và lưu nó bằng cách nhập

    sudo sysctl -p /etc/sysctl.conf

  5. Để bật chức năng giả mạo IP, hãy nhập bộ lệnh sau trong thiết bị đầu cuối:

    sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    
    sudo iptables -A FORWARD -i eth1 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
    
    sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
    

Cập nhật: Khắc phục lỗi "-Tắtstate" lạ gây ra lỗi và sửa nat MASQUERADE thành eth0 (giao diện wan)


đã thực hiện mọi thứ như được khuyến khích ... nhưng nếu tôi chỉnh sửa / etc / mạng / giao diện và khởi động lại dịch vụ, nó sẽ tự động kết nối với eth1 và sẽ không truy cập Internet qua eth0. Nếu tôi chỉnh sửa kết nối bằng chế độ GUI, nó sẽ kết nối với internet bằng eth0. Bây giờ vấn đề là tôi không thể kết nối máy tính khách của mình bằng IP 192.168.0.5/nm.255.255.255.0/gw.192.168.0.1 với internet. Bất kì lời đề nghị nào?
Santi Varghese

3
Tôi muốn thêm rằng sau khi bạn thay đổi dòng net.ipv4.ip forward=1, bạn muốn chạy sudo sysctl -p /etc/sysctl.confđể làm cho giá trị mới có hiệu lực.
Samuel Li

2
Bạn vẫn có các thiết bị được hoán đổi ở hai dòng cuối cùng trong bước 5 và bạn không có bất kỳ đề cập nào về bảo mật mặc định (nghĩa là chuyển tiếp nên có chính sách DROP).
chạchat

3

Nhận xét của @ chaletat là chính xác rằng các bộ điều hợp Ethernet được hoán đổi trong bước 5 của câu trả lời của @ Anbu, và như được hiển thị (kể từ 2017 / 02-21) tạo ra một HOLE AN NINH AN TOÀN cho phép truy cập không giới hạn vào mạng riêng bởi bất kỳ ai trên mạng công cộng .

Cấu hình đã sửa cho bước 5 được hiển thị bên dưới.

Lý thuyết vận hành: (Quy tắc số 2) Các gói xâm nhập từ mạng công cộng (eth0) được chấp nhận để chuyển tiếp ra mạng riêng (eth1) khi và chỉ khi gói công khai xâm nhập có liên quan đến cuộc hội thoại được thiết lập bởi máy chủ lưu trữ trên mạng riêng. (Quy tắc số 3) Chấp nhận tất cả các gói xâm nhập từ mạng riêng (eth1) và chuyển tiếp chúng ra mạng công cộng (eth0).

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

0

Đây là những gì tôi sử dụng, hoạt động tốt luôn. Một sự kết hợp của các hướng dẫn khác nhau. Đã thử nghiệm trên Ubuntu 16.04LTS.

Bước A-- Đảm bảo rằng ufw đã được cài đặt

sudo apt-get install ufw

Bước B - Cấu hình giao diện mạng của bạn .

sudo nano /etc/network/interfaces

Định cấu hình tệp giao diện giống như dưới đây:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The WAN primary network interface
iface eth0 inet static
        address 182.xxx.xxx.xxx
        netmask xxx.xxx.xxx.xxx
        gateway xxx.xxx.xxx.xxx

#LAN side interface
auto eth1
iface eth1 inet static
        address 192.168.0.1
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255
        address 192.168.0.1

Lưu tệp bằng cách chọn CTRL-X từ nano hoặc bất kỳ trình chỉnh sửa nào bạn thích.

Bước C - Cho phép chuyển tiếp IP . Đặt chuyển tiếp. Chỉnh sửa tập tin /etc/sysctl.conf

sudo nano /etc/sysctl.conf

Xóa nhận xét trên dòng này # net.ipv4.ip_forward=1để nó được net.ipv4.ip_forward=1 Lưu thay đổi và chuyển sang bước tiếp theo.

Bước D - Quy tắc hóa trang / chuyển tiếp

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

Kiên trì iptables thay đổi

sudo su
sudo iptables-save > /etc/iptables.rules
sudo nano /etc/network/if-pre-up.d/iptables

Nhập nội dung này:

#!/bin/sh
iptables-restore < /etc/iptables.rules
exit 0

Lưu thay đổi Sau đó chỉnh sửa / tạo tệp iptables tiếp theo

sudo nano /etc/network/if-post-down.d/iptables

Nhập nội dung này:

#!/bin/sh
iptables-save -c > /etc/iptables.rules
if [ -f /etc/iptables.rules ]; then
    iptables-restore < /etc/iptables.rules
fi
exit 0

Lưu thay đổi. Làm cho cả hai tập tin thực thi

sudo chmod +x /etc/network/if-post-down.d/iptables
sudo chmod +x /etc/network/if-pre-up.d/iptables

Bước E - Hoàn thiện với cấu hình ufw

sudo nano /etc/default/ufw

Thay đổi chính sách chuyển tiếp tham số để chấp nhận

DEFAULT_FORWARD_POLICY="ACCEPT"

Lưu thay đổi.

Tôi có SSH trên cổng 49870, vì vậy tôi cũng cho phép ufw chấp nhận kết nối trên cổng đó:

sudo ufw allow 49870

Bước F - Đừng quên bật ufw .

sudo ufw enable

Ở giai đoạn này, chỉ cần khởi động lại hệ thống của bạn. Sau đó, tất cả các thiết bị LAN có thể sử dụng nó làm cổng chính. Mặt khác, ufw rất thuận tiện để quản lý các cài đặt tường lửa.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.