Iptables面試題:
[https://www.cnblogs.com/wajika/p/6382853.html](https://www.cnblogs.com/wajika/p/6382853.html)
[https://www.cnblogs.com/wajika/p/6382956.html](https://www.cnblogs.com/wajika/p/6382956.html)
整個流程是:先刷面試題,在做詳細的學習以及project。
1、詳述iptales工作流程以及規則過濾順序?
iptables過濾的規則順序是由上至下,若出現相同的匹配規則則遵循由上至下的順序
2、iptables有幾個表以及每個表有幾個鏈?
Iptables有四表五鏈
5、請寫出查看iptables當前所有規則的命令。
iptables -L -n --line-numbers
6、禁止來自10.0.0.188 ip地址訪問80端口的請求
?????iptables?-A?INPUT?-p?tcp?--dport 80 -j DROP
7、如何使在命令行執行的iptables規則永久生效?
8、實現把訪問10.0.0.3:80的請求轉到172.16.1.17:80
iptables?-t?nat?-A?PREROUTING?-d 10.0.0.3 -p?tcp?--dport?80?-j?DNAT?--to-destination?172.16.1.6:80
9、實現172.16.1.0/24段所有主機通過124.32.54.26外網IP共享上網。
iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -j SNAT --to-source 124.32.54.26
iptables?-t?nat?-A?POSTROUTING?-s?172.16.1.0/24?-j?MASQUERADE
10、描述tcp 3次握手及四次斷開過程?
11.詳細描述HTTP工作原理?
????1 ) 地址解析
????2)封裝HTTP請求數據包
??? 3)封裝成TCP包,建立TCP連接(TCP的三次握手)
????4)客戶機發送請求命令
????5)服務器響應
????6)服務器關閉TCP連接

12.請描述iptables的常見生產應用場景。
端口映射
14、企業WEB應用較大并發場景如何優化iptables?
**net.nf\_conntrack\_max?=?25000000net.netfilter.nf\_conntrack\_max?=?25000000net.netfilter.nf\_conntrack\_tcp\_timeout\_established?=?180net.netfilter.nf\_conntrack\_tcp\_timeout\_time\_wait?=?120net.netfilter.nf\_conntrack\_tcp\_timeout\_close\_wait?=?60\*\*\*\*net.netfilter.nf\_conntrack\_tcp\_timeout\_fin\_wait?=?120**
15、寫一個防火墻配置腳本,只允許遠程主機訪問本機的80端口(奇虎360面試題)
iptables -A INPUT -p tcp --dport 80 -j accept
?? iptables -A INPUT -p tcp? -j DROP
16、請描述如何配置一個linux上網網關?
**route add -net 192.168.0.0/24 gw 10.0.0.253 dev eth1**
17、請描述如何配置一個專業的安全的WEB服務器主機防火墻?
先將默認的INPUT鏈和Forward鏈關閉,只開放允許進入的端口
iptables -P OUTPUT ACCEPT
iptables -P ?FORWARD DROP
iptables -P INPUT DROP
18、企業實戰題6:請用至少兩種方法實現!
寫一個腳本解決DOS攻擊生產案例
提示:根據web日志或者或者網絡連接數,監控當某個IP并發連接數或者短時內PV達到100,即調用防火墻命令封掉對應的IP,監控頻率每隔3分鐘。防火墻命令為:iptables -I INPUT -s 10.0.1.10 -j DROP。
~~~
`方法一:`
`netstat`?`-na|``grep`?`EST|``awk`?`-F?``"[?:]+"`?`'{print?$6}'``|``sort``|``uniq`?`-c?>>``/tmp/a``.log`
`while`?`true`
`do`
`grep`?`EST?a.log|``awk`?`-F?``'[?:]+'`?`'{print?$6}'``|``sort``|``uniq`?`-c?>``/tmp/tmp``.log`
`exec`?`<``/tmp/tmp``.log`
`while`?`read`?`line`
`do`
`ip=```echo`?`$line|``awk`?`"{print?$2}"````
`count=```echo`?`$line|``awk`?`"{print?$1}"````
`if`?`[??$count?-gt?100?]?&&?[?`iptables?-L?-n|``grep`?`$ip|``wc`?`-l`?-lt?1??]`
`then`
`iptables?-I?INPUT?-s?$ip?-j?DROP?????``//-I`?`將其封殺在iptables顯示在第一條`
`echo`?`"$line?is?dropped"`?`>>``/tmp/dropip``.log`
`fi`
`done`
`sleep`?`180`
`done`
~~~
19、/var/log/messages日志出現kernel: nf\_conntrack: table full, dropping packet.請問是什么原因導致的?如何解決?
優化內核參數
net.nf\_conntrack\_max?=?25000000net.netfilter.nf\_conntrack\_max?=?25000000net.netfilter.nf\_conntrack\_tcp\_timeout\_established?=?180net.netfilter.nf\_conntrack\_tcp\_timeout\_time\_wait?=?120net.netfilter.nf\_conntrack\_tcp\_timeout\_close\_wait?=?60net.netfilter.nf\_conntrack\_tcp\_timeout\_fin\_wait?=?120
- 文章翻譯
- Large-scale cluster management at Google with Borg
- Borg Omega and kubernetes
- scaling kubernetes to 7500 nodes
- bpf 的過去,未來與現在
- Demystifying Istio Circuit Breaking
- 知識圖譜
- skill level up graph
- 一、運維常用技能
- 1.0 Vim (編輯器)
- 1.1 Nginx & Tengine(Web服務)
- 基礎
- 1.2 zabbix
- 定義
- 登錄和配置用戶
- 1.3 RabbitMQ(消息隊列)
- 原理
- RabbitMQ(安裝)
- 1.4虛擬化技術
- KVM
- 1.5 Tomcat(Web中間件)
- 1.6Jenkins
- pipline
- 1.7 Docker
- network
- 1.8 Keepalived(負載均衡高可用)
- 1.9 Memcache(分布式緩存)
- 1.10 Zookeeper(分布式協調系統)
- 1.11 GitLab(版本控制)
- 1.12 Jenkins(運維自動化)
- 1.13 WAF(Web防火墻)
- 1.14 HAproxy負載均衡
- 1.15 NFS(文件傳輸)
- 1.16 Vim(編輯器)
- 1.17 Cobbler(自動化部署)
- 二、常用數據庫
- 2.1 MySQL(關系型數據庫)
- mysql主從復制
- 2.2 Mongodb(數據分析)
- 2.3 Redis(非關系數據庫)
- 三、自動化運維工具
- 3.1 Cobbler(系統自動化部署)
- 3.2 Ansible(自動化部署)
- 3.3 Puppet(自動化部署)
- 3.4 SaltStack(自動化運維)
- 四、存儲
- 4.1 GFS(文件型存儲)
- 4.2 Ceph(后端存儲)
- 五、運維監控工具
- 5.1 云鏡
- 5.2 ELK
- 六、運維云平臺
- 6.1 Kubernetes
- 6.2 OpenStack
- 介紹
- 安裝
- 七、Devops運維
- 7.1 理念
- 7.2 Devops運維實戰
- 八、編程語言
- 8.1 Shell
- 書籍《Wicked Cool Shell Scripts》
- 8.2 Python
- 8.3 C
- 8.4 Java
- leecode算法與數據結構
- 九、雜記
- 高優先級技能
- 知識點
- JD搜集
- 明顯的短板
- 1.0 Python
- 1.1 Kubernetes
- 1.18.2 《kubernetes in action》
- 遺漏知識點
- 1.18.3 GCP、azure、aliyun
- Azure文檔
- 1.18.5 《program with kubernetes》
- Istio
- HELM
- 《Kubernetes best practice》
- Kubernetes源碼學習
- Scheduler源碼
- 調度器入口
- 調度器框架
- Node篩選算法
- Node優先級算法
- pod搶占調度
- 入口
- 主要代碼結構
- new
- 文章翻譯
- Flannel
- 從二進制集群搭建
- 信息收集
- docker優化
- 1.2 shell
- 面試題
- grep awk sed 常見用法
- shell實踐
- 1.3 Data structure(數據結構)
- Calico
- Aliyun文檔以及重點模塊
- git
- 大數據組件
- 前端,后端,web框架
- cgroup,namespace
- 內核
- Linux搜集
- crontab
- centos7常用優化配置
- centos Mariadb
- eBPF
- ebpf的前世今生
- Linux性能問題排查與分析
- 性能分析搜集
- 性能分析常用10條
- 網絡性能優化
- 文本處理命令
- sql
- Iptables
- python面試題
- iptables
- iptables詳細
- zabbix面試題,proj
- prometheus
- web中間件
- nginx
- Haproxy
- grep sed awk
- Linux常用命令
- 云平臺
- 書籍Linux應用技巧
- kafka
- kafka面試題
- ETCD
- Jenkins
- 3天補充的點
- K8s源碼
- K8s
- k8s實操
- etcd
- test
- BPF
- PSFTP使用
- StackOverflow問答精選
- 問題
- 我對于學習思考
- 修改ssh超時時間
- 課程目錄
- 運維與運維開發
- The Person
- 個人雜談
- mysql主從復制
- 對于工作的認識與思考