1. 程式人生 > >4.iptables 網絡防火墻

4.iptables 網絡防火墻

配置 port 示例 添加 sport sshd eject 臨時 iptables

  • [1] #如果想要iptables作為網絡防火墻,iptables所在主機開啟核心轉發功能,以便能夠轉發報文。

  • [2] #使用如下命令查看當前主機是否已經開啟了核心轉發,0表示為開啟,1表示已開啟
    cat /proc/sys/net/ipv4/ip_forward

  • [3] #使用如下兩種方法均可臨時開啟核心轉發,立即生效,但是重啟網絡配置後會失效。

方法一:echo 1 > /proc/sys/net/ipv4/ip_forward

方法二:sysctl -w net.ipv4.ip_forward=1

  • [4] #使用如下方法開啟核心轉發功能,重啟網絡服務後永久生效。
    配置/etc/sysctl.conf文件(centos7中配置/usr/lib/sysctl.d/00-system.conf文件),在配置文件中將 net.ipv4.ip_forward設置為1
#由於iptables此時的角色為"網絡防火墻",所以需要在filter表中的FORWARD鏈中設置規則。
#可以使用"白名單機制",先添加一條默認拒絕的規則,然後再為需要放行的報文設置規則。
#配置規則時需要考慮"方向問題",針對請求報文與回應報文,考慮報文的源地址與目標地址,源端口與目標端口等。


#示例為允許網絡內主機訪問網絡外主機的web服務與sshd服務。
iptables -A FORWARD -j REJECT
iptables -I FORWARD -s 10.1.0.0/16 -p tcp --dport 80 -j ACCEPT
iptables -I FORWARD -d 10.1.0.0/16 -p tcp --sport 80 -j ACCEPT
iptables -I FORWARD -s 10.1.0.0/16 -p tcp --dport 22 -j ACCEPT
iptables -I FORWARD -d 10.1.0.0/16 -p tcp --sport 22 -j ACCEPT
 
#可以使用state擴展模塊,對上述規則進行優化,使用如下配置可以省略許多"回應報文放行規則"。
iptables -A FORWARD -j REJECT
iptables -I FORWARD -s 10.1.0.0/16 -p tcp --dport 80 -j ACCEPT
iptables -I FORWARD -s 10.1.0.0/16 -p tcp --dport 22 -j ACCEPT
iptables -I FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT**

參考

4.iptables 網絡防火墻