91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

ubuntu16.04云服務器如何使用iptables防火墻

小晨
462
2021-07-26 15:09:21
欄目: 云計算

ubuntu16.04云服務器使用iptables防火墻的方法:1、打開ubuntu16.04云服務器終端控制臺;2、輸入“sudo apt-get install iptables iptables-persistent”命令安裝iptables防火墻;3、安裝iptables防火墻成功后,設置防火墻規則即可。

ubuntu16.04云服務器如何使用iptables防火墻

具體內容如下:

iptables是整合在Linux操作系統中的防火墻軟件,絕大部分Ubuntu發行版都預裝了iptables。在一些非默認安裝的Ubuntu系統或者容器環境中,可能沒有預裝iptables,我們可以通過下面的命令來安裝。

sudo apt-get install iptables iptables-persistent

安裝iptables之后,系統會提示我們是否保存當前防火墻規則。如果我們要設置自己的防火墻規則,這時可以不用保存。

擴展:

1、端口測試工具

我們可以使用以下工具來檢測端口是否開啟或關閉,用來測試iptables是否生效。

客戶端測試工具(Windows環境):

telnet [服務器IP] [端口號]

服務端測試工具(Linux系統):

sudo netstat -tulpn

2、iptables的語法規則

sudo iptables -A INPUT -p tcp -m tcp --dport 22 --m geoip --src-cc PE -j ACCEPT
  • -A INPUT:添加一個INPUT類型的規則。最常見的規則類型有三種,分別是INPUT、OUTPUT和PREROUTING。

  • -p tcp:設置這條規則的協議為TCP協議。其他支持的協議還有udp、icmp和all。

  • -m tcp:使用tcp模塊。iptables通過模塊來擴展功能特性,有些常用模塊是iptables預裝的,比如geoip模塊。

  • --dport 22:雙橫線--表示為前面使用的模塊的更多選項。在這個示例里,我們設置tcp模塊只應用于22端口。

  • -m geoip:使用geoip模塊。這個模塊可以控制來自某個國家的網絡請求。

  • --src-cc PE:這個選項是讓geoip模塊限制從秘魯的網絡請求。PE是秘魯的國家編碼,這里可以替換成其他國家編碼。

  • -j ACCEPT:告訴iptables對滿足上述條件的請求如何處理。ACCEPT(接受)、ERJECT(拒絕)和DROP(丟棄)是三種常用的處理方式。

3、iptables的基本命令

查看當前規則:

sudo iptables -L

刪除某條規則(-D表示刪除):

sudo iptables -D INPUT -p tcp -m tcp --dport 22 -j ACCEPT

清空當前規則

sudo iptables -F

只清空OUTPUT類型的規則:

sudo iptables -F OUTPUT

創建iptables規則

在eth0接口允許SSH連接:

sudo iptables -A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT

注:如果要應用于所有網絡接口,請刪除-i eth0指令。

允許特定IP進行SSH連接(以10.0.3.1為例):

sudo iptables -A INPUT -s 10.0.3.1/32 -p tcp -m tcp --dport 22 -j ACCEPT

設置默認規則:

sudo iptables -P INPUT DROP

sudo iptables -P FORWARD DROP 

sudo iptables -P OUTPUT ACCEPT

說明:

  • -P INPUT DROP:表示丟棄所有流入請求,即無法訪問云服務器上的任何服務,如Apache、SQL等。

  • -P FORWARD DROP:表示丟棄所有轉發請求。

  • -P OUTPUT ACCEPT:表示接受所有流出請求。

接受所有的回環流量(推薦設置):

sudo iptables -A INPUT -i lo -j ACCEPT

sudo iptables -A OUTPUT -o lo -j ACCEPT

保存iptables規則

使用以下命令保存并加載iptables規則:

sudo netfilter-persistent save

sudo netfilter-persistent reload

在容器環境中,上面的netfilter-persistent很可能無法生效,需要重新設置一下iptables。請執行以下命令重新配置iptables安裝包:

sudo dpkg-reconfigure iptables-persistent

設置流出請求

允許DNS查詢:

sudo iptables -A OUTPUT -p tcp --dport 53 -m state --state NEW -j ACCEPT

sudo iptables -A OUTPUT -p udp --dport 53 -m state --state NEW -j ACCEPT

使用state模塊接受相關的和已建立的請求:

sudo iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

接受端口請求(如80端口):

sudo iptables -A OUTPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT

其他常見服務和端口:

服務協議端口
FTPTCP20 & 21
HTTPSTCP443
DHCPTCP67
NTPTCP123

更多有用的規則

允許Ping:

sudo iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT

sudo iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT

端口轉發(把來自2200端口的請求轉發給10.0.3.21:22 ,多用于容器場景):

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 2200 -j DNAT --to-destination 10.0.3.21:22

創建SSH永久連接,阻止未經允許的SSH登錄請求:

sudo iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --set

sudo iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 3600 --hitcount 4 -j DROP

0
镇雄县| 大同市| 加查县| 嘉荫县| 依安县| 巴塘县| 正定县| 綦江县| 合肥市| 宜宾县| 廊坊市| 光泽县| 新化县| 西宁市| 河东区| 莲花县| 济源市| 聊城市| 盐边县| 晴隆县| 大新县| 绵阳市| 浮梁县| 磐安县| 滨海县| 保定市| 宜良县| 渝中区| 商水县| 鹤岗市| 内江市| 阿拉善左旗| 峨眉山市| 盖州市| 富民县| 太湖县| 迭部县| 漳平市| 汉阴县| 孟连| 深州市|