1、開啟主機轉發(fā)能力
使用如下命令查看當前主機是否已經開啟了核心轉發(fā)葬燎,0表示為開啟误甚,1表示已開啟
cat /proc/sys/net/ipv4/ip_forward
使用如下兩種方法均可臨時開啟核心轉發(fā),立即生效谱净,但是重啟網絡配置后會失效窑邦。
方法一:echo 1 > /proc/sys/net/ipv4/ip_forward
方法二:sysctl -w net.ipv4.ip_forward=1
使用如下方法開啟核心轉發(fā)功能,重啟網絡服務后永久生效壕探。
配置/etc/sysctl.conf文件(centos7中配置/usr/lib/sysctl.d/00-system.conf文件)冈钦,在配置文件中將 net.ipv4.ip_forward設置為1
2、設置主機的filter表FORWARD鏈
可以使用"白名單機制"李请,先添加一條默認拒絕的規(guī)則瞧筛,然后再為需要放行的報文設置規(guī)則。
配置規(guī)則時需要考慮"方向問題"导盅,針對請求報文與回應報文较幌,考慮報文的源地址與目標地址,源端口與目標端口等白翻。
示例為允許網絡內主機訪問網絡外主機的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擴展模塊,對上述規(guī)則進行優(yōu)化滤馍,使用如下配置可以省略許多"回應報文放行規(guī)則"岛琼。
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