我是 Linux 伺服器新手。我目前正在嘗試首次啟動並運行 Ubuntu 10.10 伺服器,並使用 Webmin 進行管理。我被困在設置防火牆上。我需要做的是只允許一定範圍的IP(例如128.171.21.1 - 128.171.21.100)存取HTTP伺服器和Webmin。我看過很多教程,但沒有一個適合我的需要。
先致謝!
答案1
DROP
如果您將預設原則設為forINPUT
和OUTPUT
chain,則可以使用下列命令來允許存取 HTTP 伺服器。
$ sudo iptables -A INPUT -i lo -j ACCEPT
$ sudo iptables -A OUTOUT -i lo -j ACCEPT
$ sudo iptables -A INPUT -s 128.171.21.0/24 -p tcp -m tcp --dport 80 -j ACCEPT
$ sudo iptables -A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
$ sudo iptables -A OUTPUT -p udp -m udp --dport 53 -j ACCEPT
$ sudo iptables -A INPUT -p udp --sport 53 -m state --state ESTABLISHED -j ACCEPT
$ sudo iptables -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
$ sudo iptables -A INPUT -p tcp -m tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
所有子網路 128.171.21.0/24 將被允許存取您的 Web 伺服器。您可以根據您的需求進行客製化。
請注意,您可能需要允許其他協定(例如 SSH(連接埠 22))才能遠端存取伺服器。
編輯:新增的最後四個規則允許伺服器請求 DNS 和 HTTP。
答案2
如果您發現 iptables 太神秘,Ubuntu 有一個簡單的 iptables 包裝器,名為烏夫沃。