Cách đây một thời gian, tôi gặp một số vấn đề với thẻ ethernet của mình và phải đặt lại hoàn toàn cấu hình mạng của mình (tôi phải viết lại và tải lại một netplan.yaml mới, sử dụng Trình quản lý mạng)
Tác dụng phụ của vấn đề này (tôi nghĩ có thể do một bản sửa lỗi khác mà tôi đã thử gây ra) là tôi không thể truy cập internet được nữa. Một giải pháp được cung cấp trong Làm cách nào để thiết lập lại hoàn toàn cài đặt mạng Ubuntu? là xóa các quy tắc iptables, quy tắc này thực sự hoạt động, nhưng là "cách khắc phục tạm thời" như tôi có, giống như người dùng joe_inz trong chuỗi ban đầu, phải thực hiện điều đó trên mỗi lần khởi động (điều này không thuận tiện).
Đây là đầu ra của Sudo iptables -L
trên mỗi lần khởi động:
Chuỗi INPUT (chính sách DROP)
đích prot opt nguồn đích
DROP all -- mọi nơi mọi nơi
DROP all -- mọi nơi mọi nơi
Chuỗi FORWARD (chính sách DROP)
đích prot opt nguồn đích
ĐẦU RA chuỗi (chính sách DROP)
đích prot opt nguồn đích
DROP all -- mọi nơi mọi nơi
DROP all -- mọi nơi mọi nơi
Như bạn có thể thấy, về cơ bản nó chặn mọi thứ
Sau khi đào sâu một chút và hiểu iptables là gì (và do đó, cũng hiểu rằng không có quy tắc nào không phải là một ý tưởng hay), tôi đã sử dụng bộ quy tắc dành cho "người mới bắt đầu" được cung cấp tại đây https://doc.ubuntu-fr.org/iptables, đã cài đặt iptables-persistent và lưu chúng trong /etc/iptables/rules.v4
Đây là cách các quy tắc trông sau lần nhập đầu tiên (và cách chúng Nên trông giống như) :
Chuỗi INPUT (chính sách DROP)
đích prot opt nguồn đích
CHẤP NHẬN tất cả -- mọi nơi mọi nơi
CHẤP NHẬN tất cả -- mọi nơi mọi nơi PKTTYPE = multicast
DROP tcp -- bất kỳ đâu bất kỳ nơi nào ctstate INVALID cờ tcp:FIN,PSH,URG/FIN,PSH,URG
DROP tcp -- bất kỳ đâu bất kỳ nơi nào ctstate INVALID cờ tcp:FIN,SYN,RST,PSH,ACK,URG/FIN,SYN,RST,PSH,ACK,URG
DROP tcp -- bất kỳ nơi đâu ctstate INVALID cờ tcp:FIN,SYN,RST,PSH,ACK,URG/NONE
DROP tcp -- bất kỳ nơi đâu ctstate INVALID cờ tcp:SYN,RST/SYN,RST
DROP all -- mọi nơi mọi nơi PKTTYPE = phát sóng
CHẤP NHẬN tất cả -- mọi nơi mọi nơi ctstate LIÊN QUAN, THÀNH LẬP
ĐĂNG NHẬP tất cả -- mọi nơi mọi nơi cảnh báo mức LOG
Chuỗi FORWARD (chính sách DROP)
đích prot opt nguồn đích
ĐĂNG NHẬP tất cả -- mọi nơi mọi nơi cảnh báo mức LOG
ĐẦU RA chuỗi (chính sách DROP)
đích prot opt nguồn đích
CHẤP NHẬN tất cả - mọi nơi mọi nơi! ctstate KHÔNG HỢP LỆ
Tuy nhiên, sau khi khởi động lại, tôi vẫn như trước khi không có truy cập internet, vì vậy tôi đã kiểm tra lại các quy tắc và chúng trông như thế này:
Chuỗi INPUT (chính sách DROP)
đích prot opt nguồn đích
DROP all -- mọi nơi mọi nơi
DROP all -- mọi nơi mọi nơi
CHẤP NHẬN tất cả -- mọi nơi mọi nơi
CHẤP NHẬN tất cả -- mọi nơi mọi nơi PKTTYPE = multicast
DROP tcp -- bất kỳ đâu bất kỳ nơi nào ctstate INVALID cờ tcp:FIN,PSH,URG/FIN,PSH,URG
DROP tcp -- bất kỳ đâu bất kỳ nơi nào ctstate INVALID cờ tcp:FIN,SYN,RST,PSH,ACK,URG/FIN,SYN,RST,PSH,ACK,URG
DROP tcp -- bất kỳ nơi đâu ctstate INVALID cờ tcp:FIN,SYN,RST,PSH,ACK,URG/NONE
DROP tcp -- bất kỳ nơi đâu ctstate INVALID cờ tcp:SYN,RST/SYN,RST
DROP all -- mọi nơi mọi nơi PKTTYPE = phát sóng
CHẤP NHẬN tất cả -- mọi nơi mọi nơi ctstate LIÊN QUAN, THÀNH LẬP
ĐĂNG NHẬP tất cả -- mọi nơi mọi nơi cảnh báo mức LOG
Chuỗi FORWARD (chính sách DROP)
đích prot opt nguồn đích
ĐĂNG NHẬP tất cả -- mọi nơi mọi nơi cảnh báo mức LOG
ĐẦU RA chuỗi (chính sách DROP)
đích prot opt nguồn đích
DROP all -- mọi nơi mọi nơi
DROP all -- mọi nơi mọi nơi
CHẤP NHẬN tất cả - mọi nơi mọi nơi! ctstate KHÔNG HỢP LỆ
Không có lý do rõ ràng, đã có lần nữa các quy tắc loại bỏ từng gói tin
iptables-khôi phục
ít nhất cũng khôi phục bộ quy tắc mà tôi đã thực hiện trực tuyến, điều này tốt hơn là không có gì (vì vậy tôi sẽ sử dụng quy tắc đó thay vì xóa hoàn toàn như tôi đã làm trước đây), nhưng có ai biết tại sao máy tính xách tay của tôi lại bỏ mọi thứ theo mặc định không và làm thế nào để khắc phục điều đó?
Tái bút: Ngoài ra, nếu bạn có bất kỳ mẹo nào về cách tôi có thể tinh chỉnh bộ quy tắc này thì nó sẽ rất được hoan nghênh vì việc có một tường lửa vững chắc không phải là không đáng kể.
PPS: Tôi đang dùng Ubuntu 20.04 nếu điều đó tạo ra bất kỳ sự khác biệt nào