| 在做項(xiàng)目時(shí)由于公司局域網(wǎng)采用自動(dòng)獲取IP的方式,導(dǎo)到每次服務(wù)器重啟主機(jī)IP都會(huì)變化。為了解決這個(gè)問(wèn)題,我參考了http://blog.sina.com.cn/s/blog_537977e50100qhb5.html的文章然后根據(jù)自己的情況設(shè)置靜態(tài)IP解決了這個(gè)問(wèn)題,處理方式如下: 1.修改網(wǎng)卡配置 編輯:vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 #描述網(wǎng)卡對(duì)應(yīng)的設(shè)備別名,例如ifcfg-eth0的文件中它為eth0 BOOTPROTO=static #設(shè)置網(wǎng)卡獲得ip地址的方式,可能的選項(xiàng)為static,dhcp或bootp,分別對(duì)應(yīng)靜態(tài)指定的 ip地址,通過(guò)dhcp協(xié)議獲得的ip地址,通過(guò)bootp協(xié)議獲得的ip地址 BROADCAST=192.168.0.255 #對(duì)應(yīng)的子網(wǎng)廣播地址 HWADDR=00:07:E9:05:E8:B4 #對(duì)應(yīng)的網(wǎng)卡物理地址 IPADDR=12.168.0.33 #如果設(shè)置網(wǎng)卡獲得 ip地址的方式為靜態(tài)指定,此字段就指定了網(wǎng)卡對(duì)應(yīng)的ip地址 NETMASK=255.255.255.0 #網(wǎng)卡對(duì)應(yīng)的網(wǎng)絡(luò)掩碼 NETWORK=192.168.0.0 #網(wǎng)卡對(duì)應(yīng)的網(wǎng)絡(luò)地址 2.修改網(wǎng)關(guān)配置 編輯:vi /etc/sysconfig/network 修改后如下: NETWORKING=yes(表示系統(tǒng)是否使用網(wǎng)絡(luò),一般設(shè)置為yes。如果設(shè)為no,則不能使用網(wǎng)絡(luò),而且很多系統(tǒng)服務(wù)程序?qū)o(wú)法啟動(dòng)) HOSTNAME=centos(設(shè)置本機(jī)的主機(jī)名,這里設(shè)置的主機(jī)名要和/etc/hosts中設(shè)置的主機(jī)名對(duì)應(yīng)) GATEWAY=192.168.0.1(設(shè)置本機(jī)連接的網(wǎng)關(guān)的IP地址。) 我在修改這里打開編輯時(shí)前三項(xiàng)已經(jīng)默認(rèn)有了所以只增加了GATEWAY 3.修改DNS 配置 ? 編輯:vi /etc/resolv.conf 修改后如下: ? ? nameserver 即是DNS服務(wù)器IP地址,第一個(gè)是首選,第二個(gè)是備用。 4.重啟網(wǎng)絡(luò)服務(wù) 執(zhí)行命令: service network restart 或? /etc/init.d/network restart 5.關(guān)閉防火墻 ????????/etc/init.d/iptables stop ? ===================================================================== 1.配置IP #setup 選擇 NetWork configuration 選擇 Device configuration 選擇 eth0 Use DHCP [*] 改 為 [ ]?? 用空格鍵將*去除 Static IP 輸入 192.168.1.112 Netmask?輸入 255.255.255.0 Default ?gateway IP 輸入 192.168.1.1 Primary DNS Server 輸入 192.168.1.1 ? 2.改SSH端口 vim /etc/ssh/sshd_config #Port 22 去#注釋 改 22 為 2200(2000以上) ? 3.重啟SSH /etc/init.d/sshd restart ? 4.重啟網(wǎng)絡(luò) service network restart 或 /etc/init.d/network restart ? 5.查看端口 netstat -lnp|more ? 6.關(guān)防火墻 service iptables stop =============================================================================== 環(huán)境: 系統(tǒng)硬件:vmware vsphere (CPU:2*4核,內(nèi)存2G) 系統(tǒng)版本:Centos-6.5-x86_64 路由器網(wǎng)關(guān):192.168.1.1 ? 步驟: 1.查看網(wǎng)絡(luò)MAC地址 [root@centos ~]# cat /etc/udev/rules.d/70-persistent-net.rules
顯示如下信息 # PCI device 0x15ad:0x07b0 (vmxnet3) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:56:94:04:3c", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" # PCI device 0x15ad:0x07b0 (vmxnet3) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:56:94:53:24", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1" eth0:對(duì)應(yīng)第一張網(wǎng)卡,eth1:對(duì)就第二張網(wǎng)卡。當(dāng)前使用eth0連接路由器,eth1保留(服務(wù)器一般用來(lái),連接其它主機(jī)) 2.修改主機(jī)名稱 [root@centos ~]# vim /etc/sysconfig/network 打開文件,修改以下內(nèi)容并保存 NETWORKING=yes #使用網(wǎng)絡(luò) HOSTNAME=centos #設(shè)置主機(jī)名稱
3.修改網(wǎng)卡 [root@centos ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 打開文件,修改以下內(nèi)容并保存 DEVICE=eth0 #對(duì)應(yīng)第一張網(wǎng)卡 TYPE=Ethernet ONBOOT=yes #是否啟動(dòng)時(shí)運(yùn)行 NM_CONTROLLED=yes BOOTPROTO=static #使用靜態(tài)IP,而不是由DHCP分配IP DEFROUTE=yes IPV4_FAILURE_FATAL=yes IPV6INIT=no NAME="System eth0" #名稱 HWADDR=00:50:56:94:04:3C #必須對(duì)應(yīng)etho是的MAC地址(/etc/udev/rules.d/70-persistent-net.rules) PEERDNS=yes PEERROUTES=yes IPADDR=192.168.1.40 #指定本機(jī)IP地址 NETMASK=255.255.255.0 #指定子網(wǎng)掩碼 GATEWAY=192.168.1.1 #指定網(wǎng)關(guān)
4.修改DNS [root@centos ~]# vim /etc/resolv.conf 打開文件,修改以下內(nèi)容并保存 nameserver 8.8.8.8 #GOOGLE的DNS服務(wù)器 nameserver 61.144.56.100????? #指定當(dāng)前城市最近的DNS服務(wù)器(各城市不一樣,上網(wǎng)搜索) nameserver 192.168.1.1 ??? #指定經(jīng)路由器上指定的DNS服務(wù)器 5.重新啟動(dòng)網(wǎng)絡(luò)配置 [root@centos ~]#service network restart 6.重啟 [root@centos ~]#shutdown -r now ? 7.查看當(dāng)前IP設(shè)置 [root@centos ~]# ifconfig ? 8.測(cè)試是否連接外網(wǎng) [root@centos ~]# ping www.163.com? ======================================================================================= vi /etc/ssh/sshd_config 增加port 2800 systemctl restart sshd
firewall-cmd --zone=public --add-port=2800/tcp --permanent ?打開firewall商品
firewall-cmd --query-port=2800/tcp 查看2800端口打開情況
打開SELINUX端口 要用到semanage工具,如果沒(méi)有安裝可以 yum provides /usr/sbin/semanage yum whatprovides /usr/sbin/semanage yum -y install policycoreutils-python 進(jìn)行安裝
安裝完成后打開2800端口 semanage port -a -t ssh_port_t -p tcp 2800 查看2800端口是否打開 semanage port -l | grep ssh
如果一切正常,SSH客戶端用2800端口進(jìn)行登錄,如果能正常登錄, vi /etc/ssh/sshd_config 刪掉22端口 systemctl restart sshd 如果不能正常登錄,再重新排查操作步驟 ====================================================================================== 最近在CentOS Linux下安裝配置 ORACLE 數(shù)據(jù)庫(kù)的時(shí)候,總顯示因?yàn)榫W(wǎng)絡(luò)端口而導(dǎo)致的EM安裝失敗,遂打算先關(guān)閉一下防火墻。 偶然看到防火墻的配置操作說(shuō)明,感覺不錯(cuò)。執(zhí)行”setup”命令啟動(dòng)文字模式配置實(shí)用程序,在”選擇一種工具”中選擇”防火墻配置”,然后選擇”運(yùn)行工具”按鈕,出現(xiàn)防火墻配置界面,將”安全級(jí)別”設(shè)為”禁用”,然后選擇”確定”即可. 或者用命令: #/sbin/iptables -I INPUT -p tcp –dport 80 -j ACCEPT #/sbin/iptables -I INPUT -p tcp –dport 22 -j ACCEPT #/etc/rc.d/init.d/iptables save ? 這樣重啟計(jì)算機(jī)后,防火墻默認(rèn)已經(jīng)開放了80和22端口 這里應(yīng)該也可以不重啟計(jì)算機(jī): #/etc/init.d/iptables restart 防火墻的關(guān)閉,關(guān)閉其服務(wù)即可: 查看防火墻信息: #/etc/init.d/iptables status 關(guān)閉防火墻服務(wù): #/etc/init.d/iptables stop 永久關(guān)閉?不知道怎么個(gè)永久法: #chkconfig –level 35 iptables off ? 看了好幾個(gè)頁(yè)面內(nèi)容都有錯(cuò),下面是正確方法: #/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT #/sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT
然后保存: #/etc/rc.d/init.d/iptables save
再查看是否已經(jīng)有了: [root@vcentos ~]# /etc/init.d/iptables status Table: filter Chain INPUT (policy ACCEPT) num target prot opt source destination ?? 1 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:80 2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 3 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0 ?? ? Chain FORWARD (policy ACCEPT) num target prot opt source destination ?? 1 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0 服務(wù)器遭受到大量的大量SYN_RECV,80端號(hào)占死,網(wǎng)站打不開
沒(méi)有硬防
有什么辦法可以解決嗎 1 sysctl -w net.ipv4.tcp_syncookies=1 #啟用使用syncookies sysctl -w net.ipv4.tcp_synack_retries=1 #降低syn重試次數(shù) sysctl -w net.ipv4.tcp_syn_retries=1 #降低syn重試次數(shù) sysctl -w net.ipv4.tcp_max_syn_backlog=6000 #最大半連接數(shù) sysctl -w net.ipv4.conf.all.send_redirects=0 sysctl -w net.ipv4.conf.all.accept_redirects=0 #不接受重定向的icmp數(shù)據(jù)包 sysctl -w net.ipv4.tcp_fin_timeout=30 sysctl -w net.ipv4.tcp_keepalive_time=60 sysctl -w net.ipv4.tcp_window_scaling=1 sysctl -w net.ipv4.icmp_echo_ignore_all=1 #禁止ICMP sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1 #ICMP禁止廣播
2.限制單位時(shí)間內(nèi)連接數(shù) 如 iptables -N syn-flood iptables -A FORWARD -p tcp --syn -j syn-flood iptables -A INPUT -p tcp --syn -j syn-flood iptables -A syn-flood -p tcp --syn -m limit --limit 3/s --limit-burst 1 -j ACCEP iptables -A syn-flood -j DROP iptables -A INPUT -i eth0 -p tcp ! --syn -m state --state NEW -j DROP iptables -A INPUT -p tcp --syn -m state --state NEW -j DROP
3 如果還是不行, iptables -A INPUT -p tcp --dport 80 -m recent --name BAD_HTTP_ACCESS --update --seconds 60 --hitcount 30 -j REJECT iptables -A INPUT -p tcp --dport 80 -m recent --name BAD_HTTP_ACCESS --set -j ACCEP
如攻擊過(guò)來(lái)的流量大于你的服務(wù)器的流量,那就沒(méi)有什么辦法了,如果流量不大,以上方法,可以暫時(shí)保證你的80可以訪問(wèn) ? 如果你的內(nèi)核已經(jīng)支持iptables?? connlimit可以使用, iptables 設(shè)定部份,也可以使用
iptables -I FORWARD -p tcp --syn -m connlimit --connlimit-above 5 -j DROP 或 iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 5 -j REJECT ? 對(duì)付SYN FLOOD的話,真正起作用的是: sysctl -w net.ipv4.tcp_syncookies=1 ?? ??? #啟用使用syncookies sysctl -w net.ipv4.tcp_synack_retries=1 ?? ??? #降低syn重試次數(shù) 其他IPTABLES的限制速度功能不能用來(lái)對(duì)付SYN FLOOD的(不能阻止拒絕服務(wù),但是確實(shí)可以防止服務(wù)器CRASH)。 ======================================================================================== 以上內(nèi)容參考文獻(xiàn) 總結(jié)了上述仁兄的經(jīng)驗(yàn),得出結(jié)論——網(wǎng)絡(luò)基礎(chǔ)知識(shí)非常重要; 經(jīng)過(guò)深入研究,本文標(biāo)題應(yīng)該改成,服務(wù)器重新安裝無(wú)GUI的Centos 7操作系統(tǒng)后,應(yīng)當(dāng)做哪些工作,使得同局域網(wǎng)內(nèi)的另外一臺(tái)PC機(jī)可以通過(guò)ssh命令與它連接。 ? - 1.配置正確的ip地址
- 2.配置正確的網(wǎng)關(guān)地址(路由器地址)
- 3.配置正確的子網(wǎng)掩碼
- 4.開啟22號(hào)端口iptables -I INPUT -p tcp –dport 22 -j ACCEPT
- 5.切記不要修改ifconfig lo這個(gè)虛擬網(wǎng)絡(luò)接口文件里面的內(nèi)容
? 以下是運(yùn)行結(jié)果: Connecting to 192.168.2.208:22... Connection established. To escape to local shell, press 'Ctrl+Alt+]'. Last login: Wed Sep ?7 17:55:42 2016 [root@localhost ~]#? |