天天看點

iptables系列教程(三)| iptables 實戰篇

iptables 實戰篇

實戰1 伺服器禁止ping

iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP
// 禁止任何人ping通本機           
除了上面禁止PING的方法,我們還可以通過修改核心配置實作,如下:
echo net.ipv4.icmp_echo_ignore_all=1 >> /etc/sysctl.conf
sysctl -p 

// 如果允許PING,則将 `ignore_all=1`,修改成 `ingore_all=0` 即可           

實戰2 利用iptables保護公司 web 伺服器

2.1 web伺服器配置:

1、安裝httpd及vsftpd服務
yum -y install httpd
yum -y install vsftpd //安裝vsfptd服務目的是為了對比iptables

2、啟動httpd及vsftpd服務
systemctl start httpd
systemctl  start vsftpd           

2.2 用戶端驗證(未配置iptables)

測試web通路

測試vsftpd

2.3 配置iptables防火牆政策

iptables -A INPUT -i lo -j ACCEPT
// 放行環回口所有資料

iptables -A INPUT -p tcp -m multiport --dports 22,80 -j ACCEP
// 放行 TCP/22,80 端口

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
// 允許已經建立 tcp 連接配接的包以及該連接配接相關的包通過

 iptables -P INPUT DROP
 // 設定filter表INPUT鍊預設規則。當資料包沒有被任何規則比對時,則按預設規則拒絕所有           

2.4 再次驗證

測試結果正如我們所料:可以正常通路web服務,但由于iptables規則未放行ftp相關端口,是以無法通路ftp服務。

實戰3 利用iptables搭建網關伺服器

背景

:公司使用雙網卡Linux主機作為網關伺服器,其中網卡eth0連接配接區域網路,網卡eth1接入Internet。由于公司隻注冊了一個公網IP位址,要求合理配置網關政策,使區域網路内的PC機可以通過共享的方式通路Internet,如下圖所示:

具體實驗步驟,點選:

幹貨|利用iptables搭建網關伺服器

實戰4 利用iptables實作端口映射(DNAT)

實驗拓撲圖

4.1 qll252 web伺服器

1、安裝httpd服務
[root@qll252 ~]# yum -y install httpd

2、設定http服務首頁内容
[root@qll252 ~]# echo 10.10.10.2 > index.html

3、啟動httpd服務
[root@qll252 ~]# systemctl start httpd

4、指定qll251為網關
[root@qll252 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0       
  GATEWAY=10.10.10.1

5、重新開機網卡服務
[root@qll252 ~]# systemctl restart network           

4.2 在qll251上做DNAT

1、開啟核心轉發
echo "net.ipv4.ip_forward = 1" >> etc/sysctl.conf 
sysctl -p

2、添加iptables規則
[root@qll252 ~]# iptables -t nat -A PREROUTING -d 10.43.5.166 -p tcp --dport 8000 -j DNAT --to 10.43.187.252:80

3、儲存iptables規則
[root@qll251 ~]# service iptables save           

4.3 驗證

結果正如我們所料,浏覽器上輸入

http://20.20.20.20:8000

,即可跳轉到

qll252

的内容,實作端口映射。

結語

公衆号『

開源Linux

』,專注分享Linux/Unix相關内容,包括Linux運維、Linux系統開發、網絡程式設計、以及虛拟化和雲計算等技術幹貨。背景回複『

學習

』,送你一套學習Linux的系列書籍,期待與你相遇。

繼續閱讀