🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
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连接 ![](https://img.kancloud.cn/bf/5b/bf5b1dbe7ac7c0cdfc1e69dffe1f0c85_724x455.png) 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