Ubantu安裝成功后以SSH方式連接
22端口ping不通
解決方法如下:
(1)關(guān)閉防火墻,執(zhí)行sudo ufw disable
? ? ? ? ? jack@jack:~$ sudo ufw disable
(2)安裝OpenSSH,執(zhí)行sudo apt-get install openssh-server openssh-client命令。
(3)執(zhí)行netstat -tnl命令,查看22端口是否開通。
jack@jack:~$ netstat -tnl
激活I(lǐng)nternet連接 (僅服務(wù)器)
Proto Recv-Q Send-Q Local Address? ? ? ? ? Foreign Address? ? ? ? State
tcp? ? ? ? 0? ? ? 0 127.0.0.1:631? ? ? ? ? 0.0.0.0:*? ? ? ? ? ? ? LISTEN
tcp? ? ? ? 0? ? ? 0 127.0.1.1:53? ? ? ? ? ? 0.0.0.0:*? ? ? ? ? ? ? LISTEN
tcp? ? ? ? 0? ? ? 0 0.0.0.0:22? ? ? ? ? ? ? 0.0.0.0:*? ? ? ? ? ? ? LISTEN
tcp6? ? ? 0? ? ? 0 ::1:631? ? ? ? ? ? ? ? :::*? ? ? ? ? ? ? ? ? ? LISTEN
tcp6? ? ? 0? ? ? 0 :::22? ? ? ? ? ? ? ? ? :::*? ? ? ? ? ? ? ? ? ? LISTEN
倒數(shù)第一行可以看到22端口已經(jīng)處于LISTEN狀態(tài)。
Ubuntu防火墻
默認(rèn)已經(jīng)安裝ufw防火墻
1.安裝: sudo apt-get install ufw
2.查看狀態(tài): sudo ufw status
3.啟用: sudo ufw enable, sudo ufw default deny
運(yùn)行上面兩條命令后,開啟防火墻,關(guān)閉所有外部對(duì)本機(jī)的訪問
3.開啟/禁用
sudo ufw allow|deny [service]
打開或關(guān)閉某個(gè)端口,例如:
sudo ufw allow smtp 允許所有的外部IP訪問本機(jī)的25/tcp (smtp)端口
sudo ufw allow 22/tcp 允許所有的外部IP訪問本機(jī)的22/tcp (ssh)端口
sudo ufw allow 53 允許外部訪問53端口(tcp/udp)
sudo ufw allow from 192.168.1.100 允許此IP訪問所有的本機(jī)端口
sudo ufw allow proto udp 192.168.0.1 port 53 to 192.168.0.2 port 53
sudo ufw deny smtp 禁止外部訪問smtp服務(wù)
sudo ufw delete allow smtp 刪除上面建立的某條規(guī)則
4.查看防火墻狀態(tài)
sudo ufw status
一般用戶,只需如下設(shè)置:
sudo apt-get install ufw
sudo ufw enable
sudo ufw default deny
以上三條命令已經(jīng)足夠安全了,如果你需要開放某些服務(wù),再使用sudo ufw allow開啟。
開啟/關(guān)閉防火墻 (默認(rèn)設(shè)置是’disable’)
sudo ufw enable|disable
轉(zhuǎn)換日志狀態(tài)
sudo ufw logging on|off
設(shè)置默認(rèn)策略 (比如 “mostly open” vs “mostly closed”)
sudo ufw default allow|deny
許 可或者屏蔽端口 (可以在“status” 中查看到服務(wù)列表)??梢杂谩皡f(xié)議:端口”的方式指定一個(gè)存在于/etc/services中的服務(wù)名稱,也可以通過包的meta-data。 ‘a(chǎn)llow’ 參數(shù)將把條目加入 /etc/ufw/maps ,而 ‘deny’ 則相反?;菊Z法如下:
sudo ufw allow|deny [service]
顯示防火墻和端口的偵聽狀態(tài),參見 /var/lib/ufw/maps。括號(hào)中的數(shù)字將不會(huì)被顯示出來。
sudo ufw status
UFW 使用范例:
允許 53 端口
$ sudo ufw allow 53
禁用 53 端口
$ sudo ufw delete allow 53
允許 80 端口
$ sudo ufw allow 80/tcp
禁用 80 端口
$ sudo ufw delete allow 80/tcp
允許 smtp 端口
$ sudo ufw allow smtp
刪除 smtp 端口的許可
$ sudo ufw delete allow smtp
允許某特定 IP
$ sudo ufw allow from 192.168.254.254
刪除上面的規(guī)則
$ sudo ufw delete allow from 192.168.254.254
linux 2.4內(nèi)核以后提供了一個(gè)非常優(yōu)秀的防火墻工具:netfilter/iptables,他免費(fèi)且功能強(qiáng)大,可以對(duì)流入、流出的信息進(jìn)行細(xì)化控制,它可以 實(shí)現(xiàn)防火墻、NAT(網(wǎng)絡(luò)地址翻譯)和數(shù)據(jù)包的分割等功能。netfilter工作在內(nèi)核內(nèi)部,而iptables則是讓用戶定義規(guī)則集的表結(jié)構(gòu)。
但是iptables的規(guī)則稍微有些“復(fù)雜”,因此ubuntu提供了ufw這個(gè)設(shè)定工具,以簡(jiǎn)化iptables的某些設(shè)定,其后臺(tái)仍然是 iptables。ufw 即uncomplicated firewall的簡(jiǎn)稱,一些復(fù)雜的設(shè)定還是要去iptables。
ufw相關(guān)的文件和文件夾有:
/etc /ufw/:里面是一些ufw的環(huán)境設(shè)定文件,如 before.rules、after.rules、sysctl.conf、ufw.conf,及 for ip6 的 before6.rule 及 after6.rules。這些文件一般按照默認(rèn)的設(shè)置進(jìn)行就ok。
若開啟ufw之 后,/etc/ufw/sysctl.conf會(huì)覆蓋默認(rèn)的/etc/sysctl.conf文件,若你原來的/etc/sysctl.conf做了修 改,啟動(dòng)ufw后,若/etc/ufw/sysctl.conf中有新賦值,則會(huì)覆蓋/etc/sysctl.conf的,否則還以/etc /sysctl.conf為準(zhǔn)。當(dāng)然你可以通過修改/etc/default/ufw中的“IPT_SYSCTL=”條目來設(shè)置使用哪個(gè) sysctrl.conf.
/var/lib/ufw/user.rules 這個(gè)文件中是我們?cè)O(shè)置的一些防火墻規(guī)則,打開大概就能看明白,有時(shí)我們可以直接修改這個(gè)文件,不用使用命令來設(shè)定。修改后記得ufw reload重啟ufw使得新規(guī)則生效。
下面是ufw命令行的一些示例:
ufw enable/disable:打開/關(guān)閉ufw
ufw status:查看已經(jīng)定義的ufw規(guī)則
ufw default allow/deny:外來訪問默認(rèn)允許/拒絕
ufw allow/deny 20:允許/拒絕 訪問20端口,20后可跟/tcp或/udp,表示tcp或udp封包。
ufw allow/deny servicename:ufw從/etc/services中找到對(duì)應(yīng)service的端口,進(jìn)行過濾。
ufw allow proto tcp from 10.0.1.0/10 to 本機(jī)ip port 25:允許自10.0.1.0/10的tcp封包訪問本機(jī)的25端口。
ufw delete allow/deny 20:刪除以前定義的"允許/拒絕訪問20端口"的規(guī)則