RouterSrv
完成服務
ROUTING
開啟路由轉發,為當前實驗環境提供路由功能。
根據題目要求,配置單臂路由實現內部客戶端和伺服器之間的通訊。
IPTABLES
新增必要的網路地址轉換規則,使外部客戶端能夠訪問到內部伺服器上的dns、mail、web和ftp服務。
INPUT、OUTPUT和FOREARD鏈預設拒絕(DROP)所有流量通行。
配置源地址轉換允許內部客戶端能夠訪問網際網路區域。
配置路由轉發
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf sysctl -p
配置網路地址轉換規則
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ens35 -j MASQUERADE #ens35 外網網路卡 iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens35 -j MASQUERADE #MASQUERADE是轉換 iptables -t nat -A PREROUTING -p udp -d 81.6.63.254 --dport 53 -j DNAT --to 192.168.100.100 iptables -t nat -A PREROUTING -p tcp -d 81.6.63.254 -m multiport --dport 53,80,443,465,993 -j DNAT --to 192.168.100.100 iptables -t nat -A PREROUTING -p tcp -d 81.6.63.254 -m multiport --dport 20,21 -j DNAT --to 192.168.100.200 iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A INPUT -p tcp -m multiport --dport 2021,22 -j ACCEPT iptables -A INPUT -p udp -m multiport --dport 67,123,1194 -j ACCEPT iptables -I FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -p udp --dport 53 -j ACCEPT iptables -A FORWARD -p tcp -m multiport --dport 20,21,53,80,443,465,993,4500:5000 -j ACCEPT iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT iptables -A FORWARD -s 192.168.100.0/24 -j ACCEPT
外網訪問內網的chrony伺服器(chrony服務在內網)
iptables -t nat -A PREROUTING -p udp -d 81.6.63.254 -m multiport --dport 123,323 -j DNAT --to 192.168.100.100
快照
INPUT、OUTPUT和FOREARD鏈預設拒絕(DROP)所有流量通行
#這個放在比賽的最後面做,不然容易出問題 iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT DROP iptables -A INPUT -p icmp -j ACCEPT iptables -A FORWARD -p icmp -j ACCEPT iptables -A OUTPUT -p icmp -j ACCEPT
驗證
存在源為192.168.0.0/24和192.168.100.0/24的MASQUERADE規則
iptables -t nat -nvL POSTROUTING
存在目的地為81.6.63.254的DNAT規則,規則中至少存在udp53,tcp53,tcp80,tcp443,tcp465,tcp993。
iptables -t nat -nvL PREROUTING
INPUT鏈至少要放行tcp2021,udp67,FORWARD鏈至少要放行tcp20,21,53,80,443,465,993。
iptables -nL
預設拒絕