Linux
iptables Ubuntu VPS SSH 規則
我正在嘗試配置 VPS Ubuntu 伺服器以連接到程式碼庫 GIT 伺服器,就像 heroku 程式碼庫身份驗證基於 SSH RSA 密鑰一樣。
我已將密鑰上傳到儲存庫,當我使用 test 命令測試程式碼庫密鑰時:
ssh git@codebasehq.com
它沒有響應並且連接超時。我試圖通過以下方式查看請求:
“ssh git@codebasehq.com -v” 但它停在:debug1:連接到 codebasehq.com
$$ 188.65.183.234 $$埠 22。 所以我將我的 iptables 規則編輯為:
#cleaning rules iptables -F iptables -t nat -F #Standard behaviour iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP #SSH iptables -A INPUT -p tcp --dport 22 -j ACCEPT #iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT iptables -A INPUT -p icmp -j ACCEPT #DNS #iptables -A OUTPUT -p udp --dport 53 --sport 1024:65535 -j ACCEPT iptables -A INPUT -p udp --sport 53 --dport 1024:65535 -j ACCEPT #GIT #iptables -A OUTPUT -p tcp --dport 9418 -j ACCEPT iptables -A INPUT -p tcp --sport 9418 -j ACCEPT #SSL iptables -I INPUT -p tcp --dport 443 -j ACCEPT
對於 TCP,您必須考慮狀態,這應該會有所幫助… :-)
#cleaning rules iptables -F iptables -t nat -F #Standard behaviour iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP # accept established connections iptables -A INPUT -p ALL -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT # loopback interface iptables -A INPUT -p ALL -i lo -j ACCEPT #SSH iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT #iptables -A OUTPUT -p tcp --sport 22 -m state --state NEW -j ACCEPT iptables -A INPUT -p icmp -j ACCEPT #DNS #iptables -A OUTPUT -p udp --dport 53 --sport 1024:65535 -j ACCEPT iptables -A INPUT -p udp --sport 53 --dport 1024:65535 -j ACCEPT #GIT #iptables -A OUTPUT -p tcp --dport 9418 -m state --state NEW -j ACCEPT iptables -A INPUT -p tcp --sport 9418 -m state --state NEW -j ACCEPT #SSL iptables -I INPUT -p tcp -m state --state NEW --dport 443 -j ACCEPT